error in open cursor
Hello all,
I am getting a syntax error near open cursor,
can anybody please point me what is missing. i am
using Postgresql 8.2
CREATE OR REPLACE FUNCTION
sp_gen_foreign_keys_tables(OUT par_result integer, OUT
par_childtables text, IN par_colname character varying
, IN par_colvalue integer) AS
$BODY$
DECLARE
tablename varchar(300);
columnname varchar(300);
countno integer;
curfroeign cursor (columnname varchar(300)) is select
distinct(fk_relation),fk_column from foreign_keys
where pk_relation in (select pk_relation from
foreign_keys where pk_column=columnname);
var_str1 varchar(300);
BEGIN
open curforeign(par_colname);
FETCH curforeign INTO tablename,columnname;
var_str1:='select count(*) into'||countno||'from'
||tablename || 'where' ||columnname||'='||parcolvalue;
execute var_str1;
if countno >0 then
par_childtables:=par_childtables || ',' ||tablename;
endif ;
close curfroeign ;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
____________________________________________________________________________________
Need a quick answer? Get one in minutes from people who know.
Ask your question on www.Answers.yahoo.com
Ashish Karalkar wrote:
Hello all,
I am getting a syntax error near open cursor,
can anybody please point me what is missing. i am
using Postgresql 8.2CREATE OR REPLACE FUNCTION
sp_gen_foreign_keys_tables(OUT par_result integer, OUT
par_childtables text, IN par_colname character varying
, IN par_colvalue integer) AS
$BODY$DECLARE
tablename varchar(300);
columnname varchar(300);
countno integer;
curfroeign cursor (columnname varchar(300)) is select
distinct(fk_relation),fk_column from foreign_keys
where pk_relation in (select pk_relation from
foreign_keys where pk_column=columnname);
var_str1 varchar(300);BEGIN
open curforeign(par_colname);
Postgres doesn't know what curforeign is, it does however know what
curfroeign is ;)
--
Alban Hertroys
alban@magproductions.nl
magproductions b.v.
T: ++31(0)534346874
F: ++31(0)534346876
M:
I: www.magproductions.nl
A: Postbus 416
7500 AK Enschede
// Integrate Your World //