我想在我的表上创建一个触发器 审计触发器的功能是:它将所有值设置为 NULL 字符串“null”意味着'null' -> NULL
我应该如何做我希望它用于每一列而不是任何特定的。
问问题
82 次
1 回答
3
PL/SQL 中没有反射,所以你需要这样做:
create or replace trigger aud_upd_biur
before insert or update on your_audit_table
for each row
begin
if :new.col1 = 'null'
then
:new.col1 := null;
end if;
if :new.col2 = 'null'
then
:new.col2 := null;
end if;
....
if :new.col99 = 'null'
then
:new.col99 := null;
end if;
end;
因此,如果您的审计表只有几列 cut'n'paste 就足够了。否则,您可以从数据字典中生成代码。
于 2012-05-16T15:34:55.403 回答