触发器将新条目与 sql 中列中的先前条目进行比较

trigger to compare a new entry with previous entries from a column in sql

我正在尝试在 apex oracle 上为学校项目构建应用程序,但首先我需要一些功能。其中之一是触发器。我想将新条目与 table 列中的先前条目进行比较。如果条目在那里,将显示错误。这是我到目前为止得到的:

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;

不知道怎么写。谢谢。

看来你只需要一个计数函数来统计订单数 -

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;