Search Postgresql Archives

Re: Can't execute function

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello

don't use COMMIT in plpgsql. Plpgsql doesn't support it.

regards
Pavel Stehule

2009/7/30 Andre Lopes <lopes80andre@xxxxxxxxx>:
> 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.

-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux