SQL> create or replace trigger toto
2 after insert or update or delete on admin
3 for each row
4 DECLARE
5 nn char(10);
6 BEGIN
7 IF inserting THEN
8 nn='INSERT';
9 ELSEIF updating THEN
10 nn='Update';
11 ELSE
12 nn='Delete';
13 END IF;
14 INSERT INTO admin VALUES(nn,nn);
15 END toto;
16 /警告: 创建的触发器带有编译错误。SQL> show error;
TRIGGER TOTO 出现错误:LINE/COL ERROR
-------- -----------------------------------------------------------
5/3 PLS-00103: 出现符号 "="在需要下列之一时:
:= . ( @ % ;
2 after insert or update or delete on admin
3 for each row
4 DECLARE
5 nn char(10);
6 BEGIN
7 IF inserting THEN
8 nn='INSERT';
9 ELSEIF updating THEN
10 nn='Update';
11 ELSE
12 nn='Delete';
13 END IF;
14 INSERT INTO admin VALUES(nn,nn);
15 END toto;
16 /警告: 创建的触发器带有编译错误。SQL> show error;
TRIGGER TOTO 出现错误:LINE/COL ERROR
-------- -----------------------------------------------------------
5/3 PLS-00103: 出现符号 "="在需要下列之一时:
:= . ( @ % ;
6 BEGIN
7 IF inserting THEN
8 nn='INSERT';
9 ELSEIF updating THEN
10 nn='Update';
11 ELSE
12 nn='Delete';
13 END IF;
14 INSERT INTO admin VALUES(nn,nn);
PL/SQL赋值符号为:=
如 a := 1;
2 after insert or update or delete on admin
3 for each row
4 DECLARE
5 nn char(10);
6 BEGIN
7 IF inserting THEN
8 nn:='INSERT';
9 ELSEIF updating THEN
10 nn:='Update';
11 ELSE
12 nn:='Delete';
13 END IF;
14 INSERT INTO admin VALUES(nn,nn);
15 END toto;
16 /警告: 创建的触发器带有编译错误。SQL> show error;
TRIGGER TOTO 出现错误:LINE/COL ERROR
-------- -----------------------------------------------------------------
6/8 PLS-00103: 出现符号 "UPDATING"在需要下列之一时:
:= . ( @ % ;12/5 PLS-00103: 出现符号 "TOTO"在需要下列之一时:
if
是 elsif
elseif
elsif
都可以用
SQL> create or replace trigger toto
2 after insert or update or delete on admin
3 for each row
4 DECLARE
5 nn char(20);
6 BEGIN
7 IF inserting THEN
8 nn='in';
9 elsif updating THEN
10 nn='up';
11 else
12 nn='de';
13 end if;
14 INSERT INTO admin VALUES(nn,nn);
15 END;
16 /警告: 创建的触发器带有编译错误。SQL> show error;
TRIGGER TOTO 出现错误:LINE/COL ERROR
-------- -----------------------------------------------------------------
5/3 PLS-00103: 出现符号 "="在需要下列之一时:
:= . ( @ % ;
符号 ":=在 "=" 继续之前已插入。7/3 PLS-00103: 出现符号 "="在需要下列之一时:
:= . ( @ % ;
符号 ":=在 "=" 继续之前已插入。9/3 PLS-00103: 出现符号 "="在需要下列之一时:
:= . ( @ % ;
符号 ":=在 "=" 继续之前已插入。LINE/COL ERROR
nn varchar(10),
pp varchar(10)
);
2 after insert or update or delete on admin
3 for each row
4 DECLARE
5 nn char(10);
6 BEGIN
7 IF inserting THEN
8 nn:='INSERT';
9 ELSIF updating THEN
10 nn:='Update';
11 ELSE
12 nn:='Delete';
13 END IF;
14 INSERT INTO admin VALUES(nn,nn);
15 END toto;
16 /触发器已创建
请教 :
Sql plus错误提示 如何 看??
谢谢。。
CREATE TABLE error_log (
timestamp DATE,
username VARCHAR2(30),
instance NUMBER,
database_name VARCHAR2(50),
error_stack VARCHAR2(2000)
);--触发器
CREATE OR REPLACE TRIGGER LogErrors
AFTER SERVERERROR ON DATABASE
BEGIN
INSERT INTO error_log
VALUES (SYSDATE, SYS.LOGIN_USER, SYS.INSTANCE_NUM, SYS.
DATABASE_NAME, DBMS_UTILITY.FORMAT_ERROR_STACK);
END LogErrors;
2. elseif 应该时elsif3.show err看错误。