I'm having problems passing in variables into my execute statement. Any ideas?
Table:
CREATE TABLE cat.case
(
vari character varying(50), --Contains Value ‘BDD1’
ht numeric(4,1) --Contains Value 30.0
)
Statements:
PREPARE insert_plan (character varying, numeric) AS
SELECT vari FROM cat.case WHERE vari = $1 AND ht = $2;
EXECUTE insert_plan(vari_string, case[1]); --Fails with Errors
vari_string = 'BDD1' --character varying
case[1] = 30.0 --numeric(4,1)[]
Errors:
NOTICE: vari_string: BDD1 NOTICE: ht: 30.0
ERROR: function insert_plan(character varying, numeric) does not exist
LINE 1: SELECT insert_plan( $1 , $2 [ $3 ])
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
QUERY: SELECT insert_plan( $1 , $2 [ $3 ])
Hard Coded – It will work! It just doesn’t like using variables inside???
EXECUTE insert_plan('BDD1', 30.0);
Another Variation of the Execution Statement and still failed.
EXECUTE insert_plan(vari_string:: character varying(50), case[1]:: numeric(4,1));