create or replace trigger dule_query_trig
after update ON dule_query for each row
DECLARE
tablename varchar2(30);
idname varchar2(30);
BEGIN
SELECT tablename,idname into tablename,idname FROM business_process where pro_definition_id = ':new.prodefinition_id';
if(:new.ACTIVITY_STATUE = '4')
then
update tablename set flow_status = '6' where idname = :new.ACTIVITY_ID;
end if;
END;update tablename set flow_status = '6' where idname = :new.ACTIVITY_ID;这行报错,说表名称不存在,这个地方tablename是一个变量,怎么会报错了?
after update ON dule_query for each row
DECLARE
tablename varchar2(30);
idname varchar2(30);
BEGIN
SELECT tablename,idname into tablename,idname FROM business_process where pro_definition_id = ':new.prodefinition_id';
if(:new.ACTIVITY_STATUE = '4')
then
update tablename set flow_status = '6' where idname = :new.ACTIVITY_ID;
end if;
END;update tablename set flow_status = '6' where idname = :new.ACTIVITY_ID;这行报错,说表名称不存在,这个地方tablename是一个变量,怎么会报错了?
解决方案 »
- Oracle 中创建一个存储过程后,系统中显示的图标上还有一个小红叉,而且不能使用!
- 远程连接数据库出现ora-12154 tns 无法解析指定的连接标识符,但本地连接却没有这样的问题
- 列行转换问题,紧急求助
- 向高手请教:在DTS包中执行远程ORACLE数据库语法是什么?
- 关于从SQLServer到ORACLE 10G的移植项目的咨询,向各位Oracle高手求助
- 问个SQL语句优化问题
- 急救!!!!!!!!! 请问shutdown要花多少时间?
- 水晶报表的oracle问题
- 如何从表中随机选择一条记录?
- 请求大家指点!!!!!!!
- 求sql,急!!!
- 急等以个关于group by后分组列的顺序问题
after update ON dule_query for each row
DECLARE
v_tablename varchar2(30);
v_idname varchar2(30);
BEGIN
SELECT tablename,idname into tablename,idname FROM business_process where pro_definition_id = :new.prodefinition_id;
if(:new.ACTIVITY_STATUE = '4')
then
execute immediate 'update '||v_tablename||' set flow_status = ''6'' where '||v_idname||' = '||:new.ACTIVITY_ID;
end if;
END;
execute immediate
不支持 select into ????