View Single Post
  #1 (permalink)  
Old 11-03-09, 09:29
yassar yassar is offline
Registered User
 
Join Date: Nov 2009
Posts: 10
help me on procedure syntax error...

please help me ..i got syntax error when creating the procedure given below....


-------------------------------------------------------------------------------
CREATE PROCEDURE saveTableDetails1(var_table_name char(20),var_row_id char(20),var_action_occured char(20))

DEFINE var_pkid_name char(20);
select first 1 colname from syscolumns into var_pkid_name where tabid=(select tabid from systables where tabname=var_table_name);
# ^
# 201: A syntax error has occurred.
#

DEFINE var_column_name char(20);
DEFINE var_column_length INT;
DEFINE var_i INT;
DEFINE var_ar_pk_id char(20);
DEFINE var_ar_alert_id char(20);
DEFINE var_ar_l_table_name char(20);
DEFINE var_ar_l_field char(20);
DEFINE var_ar_r_table_name char(20);
DEFINE var_ar_r_field char(20);
DEFINE var_al_when char(20);
DEFINE var_al_numberof_days char(20);

LET i = 0;


select MAX(colno) from syscolumns into var_column_length where tabid=(select tabid from systables where tabname=var_table_name);


WHILE i < var_column_length
select skip i first 1 colname from syscolumns into var_column_name where tabid=(select tabid from systables where tabname=var_table_name) ;
SELECT ar_pk_id ,ar_alert_id,ar_l_table_name,ar_l_field ,ar_r_table_name ,ar_r_field INTO var_ar_pk_id,var_ar_alert_id,var_ar_l_table_name,v ar_ar_l_field,var_ar_r_field FROM bam_alert_rule where (ar_l_table_name=var_table_name and ar_l_field= var_column_name) or (ar_r_table_name=var_table_name and ar_r_field= var_column_name) ;
IF( var_ar_pk_id is not null and var_ar_alert_id is not null ) then
select al_when,al_numberof_days from bam_alerts into var_al_when ,var_al_numberof_days where al_pk_id=ar_alert_id;
insert into bam_alert_table_details(bat_pk_id,bat_alert_id,bat _table_name,bat_field_name,bat_row_id,bat_alert_st atus,bat_name_pkid,bat_action_occured,bam_alert_wh en,bam_no_of_days)values(bam_changed_table_details _seq.NEXTVAL,var_ar_alert_id,var_table_name ,var_column_name,var_row_id ,'Pending',var_bat_pkid_name,var_action_occured,va r_al_when,var_al_numberof_days);
END IF;
LET i = i+1;
END WHILE;
END PROCEDURE;

----------------------------------------------------------------------------------------------



please any one help me.....
Reply With Quote