create or replace procedure TriggersProcedure(TableInput varchar2, WELL_ID varchar2,SqlStr varchar2,SqlPro varchar2) is
str varchar2(800);
str1 varchar2(800);
BaoJing_TIME DATE; ---报警时间
Info VARCHAR2(40); ---报警信息
TemKey NUMBER(1); ---产生告警
ATTR_NAMEZHI int; ---得到现在OIL_WELL_DATA_INPUT的值
CURSOR cur_emp IS
SELECT TABLE_NAME,ATTR_NAME,DOWN_LIMIT,DOWN_LIMIT2,DOWN_LIMIT3,UP_LIMIT,UP_LIMIT2,UP_LIMIT3 FROM ALARM_LJZ_MANAGE Where TABLE_NAME=TableInput and WELL_ID=WELL_ID ;--'27';
begin
--str1:='SELECT TABLE_NAME,ATTR_NAME,DOWN_LIMIT,DOWN_LIMIT2,DOWN_LIMIT3,UP_LIMIT,UP_LIMIT2,UP_LIMIT3 FROM ALARM_LJZ_MANAGE Where TABLE_NAME='''||TableInput||''' and WELL_ID='||WELL_ID;
--FOR v_emp IN cur_emp LOOP
FOR v_emp IN (SELECT TABLE_NAME,ATTR_NAME,DOWN_LIMIT,DOWN_LIMIT2,DOWN_LIMIT3,UP_LIMIT,UP_LIMIT2,UP_LIMIT3 FROM ALARM_LJZ_MANAGE Where TABLE_NAME=TableInput and WELL_ID=WELL_ID) LOOP
str:='insert into b values ('''||v_emp.ATTR_NAME||''')';
execute immediate str;
end loop;
commit;
execute immediate 'drop table TableTemp';
end TriggersProcedure;上面的过程where条件不起作用.
str varchar2(800);
str1 varchar2(800);
BaoJing_TIME DATE; ---报警时间
Info VARCHAR2(40); ---报警信息
TemKey NUMBER(1); ---产生告警
ATTR_NAMEZHI int; ---得到现在OIL_WELL_DATA_INPUT的值
CURSOR cur_emp IS
SELECT TABLE_NAME,ATTR_NAME,DOWN_LIMIT,DOWN_LIMIT2,DOWN_LIMIT3,UP_LIMIT,UP_LIMIT2,UP_LIMIT3 FROM ALARM_LJZ_MANAGE Where TABLE_NAME=TableInput and WELL_ID=WELL_ID ;--'27';
begin
--str1:='SELECT TABLE_NAME,ATTR_NAME,DOWN_LIMIT,DOWN_LIMIT2,DOWN_LIMIT3,UP_LIMIT,UP_LIMIT2,UP_LIMIT3 FROM ALARM_LJZ_MANAGE Where TABLE_NAME='''||TableInput||''' and WELL_ID='||WELL_ID;
--FOR v_emp IN cur_emp LOOP
FOR v_emp IN (SELECT TABLE_NAME,ATTR_NAME,DOWN_LIMIT,DOWN_LIMIT2,DOWN_LIMIT3,UP_LIMIT,UP_LIMIT2,UP_LIMIT3 FROM ALARM_LJZ_MANAGE Where TABLE_NAME=TableInput and WELL_ID=WELL_ID) LOOP
str:='insert into b values ('''||v_emp.ATTR_NAME||''')';
execute immediate str;
end loop;
commit;
execute immediate 'drop table TableTemp';
end TriggersProcedure;上面的过程where条件不起作用.
2.另外,str:='insert into b values (''' ¦ ¦v_emp.ATTR_NAME ¦ ¦''')'这句话有问题,自己检查去
2.这句是测试用的,可以不用,str:='insert into b values (''' ¦ ¦v_emp.ATTR_NAME ¦ ¦''')'