表t_delete_info,结构如下
GUID:主键
TABLE_NAME:其他表的表名
TABLE_GUID:其他表的主键列名
TABLE_GUID_VALUE:其他表的主键列名对应的值。
我想在表A上写一个触发器,就是当我给表A新增数据的时候,我根据新增数据的值,删除掉对应表的对应列的记录。
触发器如下
create or replace trigger tg_t_delete_info
after insert on t_delete_info
for each row
declare
-- local variables here
begin
delete from :NEW.table_name where :NEW.table_guid = :NEW.table_guid_value;
end tg_t_delete_info;可是执行都不成功。着是怎么回事,我该怎么写。
GUID:主键
TABLE_NAME:其他表的表名
TABLE_GUID:其他表的主键列名
TABLE_GUID_VALUE:其他表的主键列名对应的值。
我想在表A上写一个触发器,就是当我给表A新增数据的时候,我根据新增数据的值,删除掉对应表的对应列的记录。
触发器如下
create or replace trigger tg_t_delete_info
after insert on t_delete_info
for each row
declare
-- local variables here
begin
delete from :NEW.table_name where :NEW.table_guid = :NEW.table_guid_value;
end tg_t_delete_info;可是执行都不成功。着是怎么回事,我该怎么写。
解决方案 »
- ORA-20000: Cannot parse for clause: FORCOLUMNS size 1
- 存储过程用一阵子出现问题
- 在Oracle服务器端如何判断所连接的客户端应用程序的类型?
- 如果根据表的某个字段来动态改变记录条数?
- 快照日志的用途
- 关于SQL合并字段的问题。。。急!!!
- 发现在Users组权限下运行OraClient10g_home1(Windows32位版本)会报错,请求解决。
- 如何在客户端用toad将oracle中包含blob字段的表进行备份?
- 客户端连接Oracle服务器
- 不同数据库,不同表结构迁移
- 如何查询一个表在哪些视图中被引用过。
- 能否用一条sql语句实现下列逻辑?
create or replace trigger tg_t_delete_info
after insert on t_delete_info
for each row
declare
SqlCmd varchar2(500) :="";
begin
SqlCmd :=" delete from " ||:NEW.table_name||" where "|| :NEW.table_guid || " = "||:NEW.table_guid_value;
execute immediate SqlCmd;
end tg_t_delete_info;