今天小弟练习写了个触发器,
create or replace trigger tt
before update of yuwen on xueji
declare
aa number;
begin
aa = new.yuwen - old.yuwen
dbms_output.put_line('OK'a);
end tt;直接报了说,不能在SYS下创建出发器,可是我用的是scott用户登陆的呀,怎么报了这个错,我很费解。。
各位高手,谁给说下
create or replace trigger tt
before update of yuwen on xueji
declare
aa number;
begin
aa = new.yuwen - old.yuwen
dbms_output.put_line('OK'a);
end tt;直接报了说,不能在SYS下创建出发器,可是我用的是scott用户登陆的呀,怎么报了这个错,我很费解。。
各位高手,谁给说下
create or replace trigger tt
before update of yuwen on xueji
declare
aa number;
begin
aa = :new.yuwen - :old.yuwen ; --分号结束,且关键字new和old前要加冒号(:)
dbms_output.put_line('OK'||aa);
end tt;
create or replace trigger tt
before update of yuwen on xueji
for each row ------这个少了
declare
aa number;
begin
aa = :new.yuwen - :old.yuwen; ----new 和old前必须写冒号,代表共享变量。结尾少了分号。
dbms_output.put_line('OK' || a); ---少了连接符
end tt;
你是不是用sysdba身份登录的本地数据库?这时候会用os验证以sys登录,而不是你想登陆的scott.
你可以在command windows 下输入 show user来确认当前登录的用户
declare
aa number;
begin
aa =:new.yuwen -:old.yuwen; --这里
dbms_output.put_line('OK '||aa);
end tt;