我試圖在 apex oracle 上為學校專案構建一個應用程式,但首先我需要一些功能。其中之一是觸發器。我想將新條目與表中列中的先前條目進行比較。如果條目在那里,將顯示錯誤。這是我到目前為止得到的:
create or replace TRIGGER client_check
BEFORE INSERT
ON ORDERS
for each row
DECLARE
new_client number;
BEGIN
new_client :=0;
select CLIENT_ID into new_client from ORDERS where CLIENT_ID = :new.CLIENT_ID;
if new_client (condition to check if its already there)
Raise_Application_Error(-20000, 'Client already ordered!');
end if;
END;
我不知道怎么寫。謝謝你。
uj5u.com熱心網友回復:
看來您只需要一個計數功能來計算訂單數量 -
create or replace TRIGGER client_check
BEFORE INSERT
ON ORDERS
for each row
DECLARE
new_client number := 0;
BEGIN
select COUNT(CLIENT_ID)
into new_client
from ORDERS
where CLIENT_ID = :new.CLIENT_ID;
if new_client > 0
Raise_Application_Error(-20000, 'Client already ordered!');
end if;
END;
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/480900.html
上一篇:查找具有相同值的行并選擇較新的行
下一篇:DLookUp函式不匹配
