View Single Post
  #13 (permalink)  
Old 12-18-09, 12:55
yassar yassar is offline
Registered User
 
Join Date: Nov 2009
Posts: 10
thanks for all ur help....

stil hav a problem....
CREATE PROCEDURE savetabledetails1(var_table_name char(20),var_row_id char(20),var_action_occured char(20))

DEFINE var_pkid_name char(20);
DEFINE var_column_name char(20);
DEFINE var_column_length char(20);
DEFINE i int;
DEFINE var_ar_pk_id char(20);
DEFINE var_ar_alert_id char(20);
DEFINE var_al_when char(20);
DEFINE var_al_numberof_days char(20);
DEFINE var_ba_pk_id char(20);
DEFINE var_query lvarchar(2000);
DEFINE var_query1 lvarchar(2000);
LET i = 0;
LET var_query="select colname from syscolumns where tabid=(select tabid from systables where tabname=?)";
select MAX(colno) into var_column_length from syscolumns where tabid=(select tabid from systables where tabname=var_table_name);
select first 1 colname into var_pkid_name from syscolumns where tabid=(select tabid from systables where tabname=var_table_name);

PREPARE var_query_stmt FROM var_query;
DECLARE var_query_cur cursor FOR var_query_stmt;
OPEN var_query_cur USING var_table_name;


WHILE (i<var_column_length)
FETCH var_query_cur INTO var_column_name;

FOREACH SELECT ar_pk_id ,ar_alert_id INTO var_ar_pk_id,var_ar_alert_id 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)
--insert into bam_alert_table_details(bat_pk_id,bat_alert_id) values(bam_changed_table_details_seq.NEXTVAL,var_r ow_id);

IF( var_ar_pk_id is not null and var_ar_alert_id is not null ) then

--select ba_pk_id into var_ba_pk_id from bam_alert_actions where (ba_alert_id=var_ar_alert_id and ba_action_id like "||var_action_occured||");

"which one i hav to use here..??
statement above or below...??
LET var_query1="select ba_pk_id from bam_alert_actions where ba_alert_id=? and ba_action_id like '||var_action_occured||'";


PREPARE var_query_stmt1 FROM var_query1;
DECLARE var_query_cur1 cursor FOR var_query_stmt1;
OPEN var_query_cur1 USING var_ar_alert_id;
FETCH var_query_cur1 INTO var_ba_pk_id;



if(var_ba_pk_id is not null) then

select al_when,al_numberof_days into var_al_when ,var_al_numberof_days from bam_alerts where al_pk_id=var_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_co lumn_name,var_row_id ,'Pending',var_pkid_name,var_action_occured,var_al _when,var_al_numberof_days);
end if;
CLOSE var_query_cur1;
FREE var_query_cur1;
FREE var_query_stmt1;

END IF;
END FOREACH;
LET i=i+1;
END WHILE;
CLOSE var_query_cur;
FREE var_query_cur;
FREE var_query_stmt;
END PROCEDURE;

if i use extra curser for this as second stmnt above in red..i am geting an error like...

execute procedure savetabledetails1("bam_alerts","854","&#37;A%");
#^
# 696: Variable (var_ba_pk_id) has undefined value.
#


please help me on this.....its very urgent...

Last edited by yassar; 12-23-09 at 03:47.
Reply With Quote