Senhores, estou fazendo as minhas conversões de sp do sql para o Postgresql, li algum material a respeito e tive algumas duvidas, sei que algumas são bem básicas e são encontradas na documentação oficial da PostgreSQL que andei lendo a respeito , mas gostaria que tivesse um pouco de paciência para sanar algumas duvidas :)
Você não especificou qual versão está utilizando. Vou assumir 8.1
vamo la :Pergunta 1:Quando crio uma Function , e declaro os campos de entradaCREATE OR REPLACE FUNCTION public.UPSINTETICA(INT,INT,INT,INT,INT,INT,VARCHAR(15),DECIMAL(15,2),INT,INT,INT,INT)
RETURNS "trigger" ASnão consigo colocar quais serão meus parametros de entrada ??
Somente coloco o tipo de dado e acesso ele por $1,$2,$3 etc... na minha
Function, seria isto??
Você tem duas maneiras de especificar um alias para os parâmetros:
. no próprio CREATE FUNCTION:
CREATE FUNCTION foo(a INT, b VARCHAR)...
. na área DECLARE:
CREATE FUNCTION foo(INT, VARCHAR)...
DECLARE
a ALIAS FOR $1;
b ALIAS FOR
$2;
BEGIN...
Veja:
http://www.postgresql.org/docs/8.1/interactive/plpgsql-declarations.html#PLPGSQL-DECLARATION-ALIASES
Pergunta 2:Na declaração de variavel, eu simplesmente delcaro elas,não teria nenhum caracter especial para diferencia-las na hora de setar um valor para ela ou simplesmente ele respeita a ordem de declaraçao ou seja a esquerda do = é a minha variavel e a direita do = é o valor que vai ser assumido por ela.DECLARE
DigNivel1Plano INT,
DigNivel2Plano INT,
DigNivel3Plano INT...SELECT DigNivel1Plano = DigNivel1Plano,
DigNivel2Plano = DigNivel2Plano,
DigNivel3Plano = DigNivel3Plano
FROM EmpreCTB
Nunca vi este tipo de sintaxe. Talvez você deseje o SELECT INTO.
Veja:
http://www.postgresql.org/docs/8.1/interactive/plpgsql-statements.html#PLPGSQL-SELECT-INTO
Pergunta 3O PostgreSQL não aceita cláusulaIF....
ELSE..Só por duivda mesmo oCASE ... WHEN ... THEN ...Resolve o meu problema :)
Dentro de um SELECT não aceita, neste caso utilize o CASE (http://www.postgresql.org/docs/8.1/interactive/functions-conditional.html)
mas como você estava falando de functions veja:
http://www.postgresql.org/docs/8.1/interactive/plpgsql-control-structures.html#PLPGSQL-CONDITIONALS
[]s
Osvaldo
Yahoo! Acesso Grátis - Internet rápida e grátis. Instale o discador agora!
_______________________________________________ Grupo de Usuários do PostgreSQL no Brasil Antes de perguntar consulte o manual http://pgdocptbr.sourceforge.net/
Para editar suas opções ou sair da lista acesse a página da lista em: http://pgfoundry.org/mailman/listinfo/brasil-usuarios
