我正在製作一個名爲Employees
的表,其中first_name
和last_name
存儲爲(作爲varchar)。我創建觸發器下面檢查姓和名的組合已經存在:由於'無效的觸發器規範',SQL觸發器無法正常工作
CREATE OR REPLACE TRIGGER VALIDATE_NAME
BEFORE INSERT ON EMPLOYEES
IF (SELECT count(*) FROM employees
WHERE firs_name = new.first_name AND LAST_NAME = new.last_name) = 0
BEGIN
END
ELSE IF (SELECT count(*) FROM employees
WHERE firs_name = new.first_name AND LAST_NAME = new.last_name) >= 1
BEGIN
RETURN FALSE;
END;
不過,我收到一條錯誤消息Invalid trigger specification
,我不明白。有人能澄清我做錯了什麼嗎?我已經刪除了第一個BEGIN/END
的內容,因爲它只是存儲了它應有的新信息。
P.S .:這是一個理論案例研究,我知道檢查重複條目的正確方法是不使用名字和姓氏,因爲兩個人可能共享相同的名稱。我知道,所以請不要着手它:-)
哪個DBMS? (你的代碼不是ANSI SQL ...) – jarlh
我應該clarrified @jarlh,我使用Oracle與SQL Developer –
我也添加了標籤。 –