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 //
FAQ