From: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> |
---|---|
To: | Andre Lopes <lopes80andre(at)gmail(dot)com> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Can't execute function |
Date: | 2009-07-30 11:38:22 |
Message-ID: | 162867790907300438x3dfe22d3i3bc796e6cfc4a3c0@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Hello
don't use COMMIT in plpgsql. Plpgsql doesn't support it.
regards
Pavel Stehule
2009/7/30 Andre Lopes <lopes80andre(at)gmail(dot)com>:
> Hi. I need to know what is wrong with this function
>
> [code]
> CREATE OR REPLACE FUNCTION "public"."apr_alta_empregado" ("pID_SOCIEDADE"
> varchar, "pID_EMPREGADO" varchar, "pNOME" varchar, "pNOME_ABREV" varchar,
> "pDAT_NASC" date, "pLOCALIDADE_NASC" varchar,
> "pID_TIPO_BILHETE_IDENTIFICACAO" varchar, "pBILHETE_IDENTIFICACAO" varchar,
> "pDAT_EMISSAO_BI" date, "pDAT_EXPIRA_BI" date, "pNIF" varchar, "pID_SEXO"
> varchar, "pID_ESTADO_CIVIL" varchar, "pID_NACAO" varchar, "pMORADA" varchar,
> "pLOCALIDADE" varchar, "pCODIGO_POSTAL" varchar, "pTELEFONE_1" varchar,
> "pTELEFONE_2" varchar, "pEMAIL_1" varchar, "pEMAIL_2" varchar,
> "pID_NACAO_MORADA" varchar, "pID_DISTRITO" varchar, "pID_CONCELHO" varchar,
> "pID_FREGUESIA" varchar) RETURNS varchar AS
> $body$
> DECLARE
> vERRO VARCHAR(2000);
> BEGIN
>
> -- Insere na Tabela de Empregados
> INSERT INTO atc_empregado
> (
> ID_SOCIEDADE,
> ID_EMPREGADO,
> NOME,
> NOME_ABREV,
> DAT_NASC,
> LOCALIDADE_NASC,
> ID_TIPO_BILHETE_IDENTIFICACAO,
> BILHETE_IDENTIFICACAO,
> DAT_EMISSAO_BI,
> DAT_EXPIRA_BI,
> NIF,
> ID_SEXO,
> ID_ESTADO_CIVIL,
> ID_NACAO
> )
> VALUES
> (
> pID_SOCIEDADE,
> pID_EMPREGADO,
> pNOME,
> pNOME_ABREV,
> pDAT_NASC,
> pLOCALIDADE_NASC,
> pID_TIPO_BILHETE_IDENTIFICACAO,
> pBILHETE_IDENTIFICACAO,
> pDAT_EMISSAO_BI,
> pDAT_EXPIRA_BI,
> pNIF,
> pID_SEXO,
> pID_ESTADO_CIVIL,
> pID_NACAO
> );
>
> -- Insere na Tabela de Morada do Empregado
> INSERT INTO atc_morada_empregado
> (
> ID_SOCIEDADE,
> ID_EMPREGADO,
> MORADA,
> LOCALIDADE,
> CODIGO_POSTAL,
> TELEFONE_1,
> TELEFONE_2,
> EMAIL_1,
> EMAIL_2,
> ID_NACAO,
> ID_DISTRITO,
> ID_CONCELHO,
> ID_FREGUESIA
> )
> VALUES
> (
> pID_SOCIEDADE,
> pID_EMPREGADO,
> pMORADA,
> pLOCALIDADE,
> pCODIGO_POSTAL,
> pTELEFONE_1,
> pTELEFONE_2,
> pEMAIL_1,
> pEMAIL_2,
> pID_NACAO_MORADA,
> pID_DISTRITO,
> pID_CONCELHO,
> pID_FREGUESIA
> );
>
> COMMIT;
> END;
> $body$
> LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER;
> [/code]
>
>
> When I run the function I got this error:
>
> ERROR: function pid_sociedade() does not exist
> Estado de SQL:42883
> Sugestão:No function matches the given name and argument types. You may need
> to add explicit type casts.
> Contexto:SQL statement "INSERT INTO atc_empregado ( ID_SOCIEDADE,
> ID_EMPREGADO, NOME, NOME_ABREV, DAT_NASC, LOCALIDADE_NASC,
> ID_TIPO_BILHETE_IDENTIFICACAO, BILHETE_IDENTIFICACAO, DAT_EMISSAO_BI,
> DAT_EXPIRA_BI, NIF, ID_SEXO, ID_ESTADO_CIVIL, ID_NACAO ) VALUES (
> pID_SOCIEDADE, pID_EMPREGADO, pNOME, pNOME_ABREV, pDAT_NASC,
> pLOCALIDADE_NASC, pID_TIPO_BILHETE_IDENTIFICACAO, pBILHETE_IDENTIFICACAO,
> pDAT_EMISSAO_BI, pDAT_EXPIRA_BI, pNIF, pID_SEXO, pID_ESTADO_CIVIL, pID_NACAO
> )"
> PL/pgSQL function "apr_alta_empregado" line 8 at SQL statement
>
>
> What can I do?
>
>
> Best Regards,
> André Lopes.
From | Date | Subject | |
---|---|---|---|
Next Message | Dotan Barak | 2009-07-30 11:39:06 | Re: PostgreSQL server listen on other port than 5432 |
Previous Message | Phoenix Kiula | 2009-07-30 11:37:48 | SVN and Postgres 8.3 |