【发布时间】:2017-05-04 09:42:57
【问题描述】:
有人帮我找出错误
CREATE OR REPLACE TRIGGER CREAT_SERVIÇO
BEFORE INSERT ON SERVIÇO
BEGIN
if((SELECT MORADA_RUA FROM SERVIÇO)=NULL and (SELECT LOCAIS_ID_LOCAL FROM SERVIÇO) = NULL) = TRUE
THEN
RAISE_APPLICATION_ERROR(-20000, 'YOU HAVE TO HAVE AN ADRESS OR AN LOCAL');
END IF;
END;
错误:
错误(4,7):PLS-00103:在预期以下情况之一时遇到符号“SELECT”:(-+ case mod new not null continue avg count current exists max min prior sql stddev sum variance执行forall合并时间时间戳间隔日期管道
错误(4,39):PLS-00103:在预期以下情况之一时遇到符号“=”:),或者符号“)”被替换为“=”以继续。
错误(4,50):PLS-00103:在预期以下情况之一时遇到符号“SELECT”:(-+ case mod new not null continue avg count current exists max min prior sql stddev sum variance执行forall合并时间时间戳间隔日期管道
错误(4,88):PLS-00103:在预期以下之一时遇到符号“=”:) 和或
错误(5,4):PLS-00103:在预期以下情况之一时遇到符号“THEN”:. ( ) , * @ % & - + / at mod 余数 rem 和 or ||多集
错误(7,9):PLS-00103:在预期以下情况之一时遇到符号“IF”:;当前删除之前存在
【问题讨论】:
-
不用喊了。此外,如果您遇到一些错误,了解您遇到的什么错误将非常有帮助。
-
发布错误信息
-
edit 您的问题并添加您收到的确切错误消息(不要在 cmets 中发布其他信息)
-
出现错误更新
-
PL/SQL 中没有
if (select)构造。顺便说一句,您的错误消息'YOU HAVE TO HAVE AN ADRESS OR AN LOCAL'毫无意义。