x
1
declare
2
internalid integer;
3
begin
4
5
--DESCRICAO NULA
6
if descricao is null then
7
RAISE EXCEPTION 'descricao = %', descricao
8
USING HINT = 'Field descricao must be not null';
9
end if;
10
11
--IDNATIVO NULO OU FORA DO PADRAO
12
if idnativo is null or idnativo not in (0,1,-99999) then
13
RAISE EXCEPTION 'idnativo = %', idnativo
14
USING HINT = 'Field must not be null or different from 1 or 0.';
15
end if;
16
17
--CODIGOERP NULO
18
if externalid is null or externalid = '' then
19
RAISE EXCEPTION 'externalid = %', externalid
20
USING HINT = 'Field externalid must be not null';
21
end if;
22
23
--VALIDAÇÃO DE CODIGOERP JÁ EXISTENTE
24
IF (select distinct 1 FROM GRUPOPARCEIRO WHERE CODIGOERP = PostGrupoCliente.externalid) = 1
25
THEN RAISE EXCEPTION 'externalid = %', PostGrupoCliente.externalid
26
USING HINT = 'The record (externalid = '|| PostGrupoCliente.externalid ||') already exists, it was not possible to insert it.';
27
ELSE insert into grupoparceiro (idgrupoparceiro, descricao, idnativo, codigoerp) values (nextval('seqpkgrupoparceiro'), descricao, idnativo, externalid) returning idgrupoparceiro into internalid;
28
end if;
29
30
return query select internalid;
31
32
END;