+ -
当前位置:首页 → 问答吧 → 请教诸位高手一个很基础的trigger问题

请教诸位高手一个很基础的trigger问题

时间:2011-12-11

来源:互联网

SQLWKS> drop table teacher;
语句已处理。
SQLWKS> 
SQLWKS> create table teacher(
  2> tno number(4) primary key,
  3> tname varchar2(10) not null,
  4> tage number(2) constraint t1 check(tage between 20 and 70),
  5> pos varchar2(10),
  6> sal number(8,2) constraint t2 check (sal>500),
  7> pri number(8,2));
语句已处理。
SQLWKS> 
SQLWKS> create or replace trigger updsal1
  2> before insert or update of sal,pos on teacher
  3> for each row
  4> when(new.pos='教授')
  5> begin
  6> if new.sal<1000 then new.sal=1000;
  7> end if;
  8> end;
  9> 
  10> insert into teacher values(8001,'t1',35,'助教',800,200);
  11> insert into teacher values(8002,'t2',38,'讲师',1000,200);
  12> insert into teacher values(8003,'t3',45,'教授',1800,200);
  13> insert into teacher values(8004,'t4',65,'助教',800,200);
  14> insert into teacher values(8005,'t5',55,'讲师',890,200);
  15> insert into teacher values(8006,'t6',35,'教授',800,200);
  16> 
  17> select *from teacher;
  18> 
MGR-00072: There is no more information about this error.

最后一句那个MGR-00072的错误是怎么回事啊,程序过不去啊。。
忘望教导。。

作者: imsep   发布时间: 2011-12-11

SQLWKS> create or replace trigger updsal1
  2> before insert or update of sal,pos on teacher
  3> for each row
  4> when(new.pos='教授')
  5> begin
  6> if new.sal<1000 then new.sal=1000;
  7> end if;
  8> end;
  9> /

在命令行编译trigger,procedure,function等,需要在代码之后增加"/"
sqlplus的 "/" 表示执行

作者: tangren   发布时间: 2011-12-11