error in open cursor
error in open cursor
От:
Ashish Karalkar <ashish_karalkar@yahoo.com>
Дата:
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
Re: error in open cursor
От:
Alban Hertroys <alban@magproductions.nl>
Дата:
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.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); 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 //