user3223401
user3223401

Reputation:

"No function matches the given name and argument types" for custom function

Am new in PostgreSQL Database

help me to correct the following Function written in PostgreSQL

FUNCTION

CREATE OR REPLACE FUNCTION insertinvoie(integer,integer,integer,integer,smallint,character varying, timestamp without time zone,integer,integer,integer,character varying,money,real,money,real,integer,integer,timestamp without time zone,integer,money,real,money,money,real,money,real,money,real,money,character varying,money,boolean,character varying,timestamp without time zone,character varying,character varying,boolean,character varying,character varying,integer,character varying,smallint,integer,integer,smallint,integer)
  RETURNS void AS
$BODY$ 
INSERT INTO gtab09 (acyrid,RepId,DrId,vrid, mode, trno, trdate, acid, vrno, SuppId,custname,netamt,disrate,disamt,RoundOff,jrmid, userid,userdtm,VSNo,RecdAmt, cstrate,cstsaleamt, cstamt, tdrate, tdamt, cdrate,cdamt,CessRate,CessAmt,odesc1,oamt1,CashCredit,OrderNo,OrderDate,CustAdd2,Remarks,WhoRetSl,PatName,DrName,FormId,SalesMan,CFMode,PatId,StkPtId,DisType,BranchID) VALUES($1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,$21,$22,$23,$24,$25,$26,$27,$28,$29,$30,$31,$32,$33,$34,$35,$36,$37,$38,$39,$40,$41,$42,$43,$44,$45,$46); 
$BODY$
  LANGUAGE sql VOLATILE
  COST 100;
ALTER FUNCTION insertinvoie(integer,integer,integer,integer,smallint,character varying, timestamp without time zone,integer,integer,integer,character varying,money,real,money,real,integer,integer,timestamp without time zone,integer,money,real,money,money,real,money,real,money,real,money,character varying,money,boolean,character varying,timestamp without time zone,character varying,character varying,boolean,character varying,character varying,integer,character varying,smallint,integer,integer,smallint,integer)
  OWNER TO postgres;

Called Like this

SELECT insertinvoie(5, 7, 0, 12, 1, '22754'::character varying ,'2014-01-22'::date, 2679, 22754, 2679, 'A.K.G.MEMORIAL HOSPITAL, PARAPPANANGADI'::character varying , 936, 0, 0, 0.4, 213388, 1, '2014-01-22 04:37:12 PM'::date, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ''::character varying, 0, False, ''::character varying,'2014-01-22'::date, ''::character varying, ''::character varying, False, ''::character varying, ''::character varying, 1, ''::character varying , 1,0,1,1,1);

Error Getting

ERROR:  function insertinvoie(integer, integer, integer, integer, integer, character varying, date, integer, integer, integer, character varying, integer, integer, integer, numeric, integer, integer, date, integer, integer, integer, integer, integer, integer, integer, integer, integer, integer, integer, character varying, integer, boolean, character varying, date, character varying, character varying, boolean, character varying, character varying, integer, character varying, integer, integer, integer, integer, integer) does not exist
LINE 1: SELECT insertinvoie(5, 7, 0, 12, 1, '22754'::character varyi...
               ^
HINT:  No function matches the given name and argument types. You might need to add explicit type casts.

********** Error **********

ERROR: function insertinvoie(integer, integer, integer, integer, integer, character varying, date, integer, integer, integer, character varying, integer, integer, integer, numeric, integer, integer, date, integer, integer, integer, integer, integer, integer, integer, integer, integer, integer, integer, character varying, integer, boolean, character varying, date, character varying, character varying, boolean, character varying, character varying, integer, character varying, integer, integer, integer, integer, integer) does not exist
SQL state: 42883
Hint: No function matches the given name and argument types. You might need to add explicit type casts.
Character: 8

Upvotes: 2

Views: 2801

Answers (1)

KorryD
KorryD

Reputation: 26

You must cast the literals of type MONEY when you call your function.

Or, you can single-quote those values if you prefer.

Upvotes: 1

Related Questions