www.bcmx.net > orAClE 创建触发器问题

orAClE 创建触发器问题

同意楼上的, 如果你是10g以上的,你可以到em管理器里去查看“用户”,输入soctt 然后为它分配详细的权限。 是在不行 用sys账户登录:然后grant create session to scott; grant create trigger to scott; 还不行那就只有grant dba to scott;

Create Or Replace Trigger Trig After Insert Or Delete Or Update On emp2 For Each Row Begin If Inserting Then Insert Into Emp2_Log Values (User,'insert', Sysdate); Elsif Updating Then Insert Into Emp2_Log Values (User,'insert', ...

一般在sqlplus或者其他第三方oracle工具中,按照语法及需求写好代码,直接执行创建过程即可。 一般语法如下: CREATE [OR REPLACE] TRIGGER trigger_name{BEFORE | AFTER }{INSERT | DELETE | UPDATE [OF column [, column …]]}[OR {INSERT | DE...

create trigger tr_user befeor insert on t_user for each row when(:new.ID is null) begin select UserIdentity.nextval into :NEW.ID from dual; end;

那个 PRAGMA AUTONOMOUS_TRANSACTION 的代码, 单独写到一个存储过程里面 然后触发器里面 , 调用存储过程. 例如: -- 获取当前流水号的存储过程.CREATE OR REPLACE PROCEDURE GetNextSeqNo ( p_result IN OUT VARCHAR2) AS-- 定义 “自治事务”PRAGM...

出现 编译错误的话, 会不会是你的 WELNE_ACCOUNT 表里面, 没有 pwdhash 这一列啊. 还有一点就是, 那句 REFERENCING OLD AS "OLD" NEW AS "NEW" 完全没有意义啊. old as old new as new 。 一般人家是偷懒的情况下, 不想输入 :old 或者 :new 的...

表test中有id这个字段吗?

create or replace trigger insert_B after insert FOR EACH ROWon Abegin IF :NEW.type = 2 and :NEW.applytype = 11 then insert into B(id,name,type,applytype,result) values(:NEW.id.:NEW.name,:NEW.type,:NEW.applytype,'Y'); END IF;END;/

可以在 user_triggers 视图里面查询 已创建的触发器。 例如: SELECT trigger_name, statusFROM user_triggersWHERE table_name='TEST_TRIGGER_TABLE';TRIGGER_NAME STATUS------------------------------------------------------------ ------...

这类编译错误,一般是SQL语句敲错,或者表名不存在。 你可以把其中的语句注释掉大部分,然后看看有没错。 有错,这样就容易检查 如果没错,就释放出来一点语句检查。 很快就搞定错误了,加油!

网站地图

All rights reserved Powered by www.bcmx.net

copyright ©right 2010-2021。
www.bcmx.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com