PostgreSQL Prático/Funções Definidas pelo Usuário e Triggers/Triggers: diferenças entre revisões

[edição verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
Sem resumo de edição
Linha 200:
 
<syntaxhighlight lang="SQL">
create or replace function empresa_cliente_id(varchar,varchar)
returns _int4 as'
as $$
declare
nempresa alias for $1;
ncliente alias for $2;
empresaid integer;
clienteid integer;
begin
insert into empresas(nome) values(nempresa);
insert into clientes(fkempresa,nome) values (currval (''empresas_id_seq''), ncliente);
Linha 212 ⟶ 214:
clienteid := currval(''clientes_id_seq'');
return ''{''|| empresaid ||'',''|| clienteid ||''}'';
end;'
$$
language 'plpgsql';
 
</syntaxhighlight>
 
Linha 220 ⟶ 222:
 
<syntaxhighlight lang="SQL">
create or replace function id_nome_cliente(integer) returns text as '
 
returns text
create or replace function id_nome_cliente(integer) returns text as '
as $$
declare
r record;
begin
select into r * from clientes where id = $1;
if not found then
raise exception ''Cliente não existente !'';
end if;
return r.nome;
end; '
$$
language 'plpgsql';
</syntaxhighlight>
 
Linha 237 ⟶ 241:
 
<syntaxhighlight lang="SQL">
create or replace function clientes_nomes()
returns text
as '$$
declare
x text;
r record;
begin
x:=''Inicio'';
for r in select * from clientes order by id loop
Linha 247 ⟶ 253:
end loop;
return x||'' : fim'';
end; '
$$
language 'plpgsql';
</syntaxhighlight>