Я хочу проверить, была ли моя добавленная запись первой в месяце. Что я делаю неправильно? Покажите мне, как это сделать, пожалуйста.
Мне нравится
DECLARE var_month number; IF (INSERTING OR DELETING OR UPDATING) AND var_month <= 1 THEN
но это не сработало
Вот мой код запроса:
CREATE TABLE Client_Statistics
(
id number(20),
client_id number(20),
year number(4) check (year between 1900 and 9999),
month number(2) check (month between 1 and 12),
order_count varchar2(10),
order_sum number(10,2)
);
CREATE SEQUENCE cs_seq
START WITH 1
INCREMENT BY 1;
CREATE OR REPLACE TRIGGER add_record_with_sequence
AFTER
INSERT OR DELETE OR UPDATE ON Orders
FOR EACH ROW
DECLARE sel number;
csdate number;
BEGIN
IF INSERTING OR DELETING OR UPDATING
THEN
INSERT INTO Client_Statistics (id, client_id, year, month, order_count, order_sum)
VALUES (cs_seq.nextval, cs_seq.nextval, 2019, 5, cs_seq.nextval, cs_seq.nextval);
END IF;
SELECT COUNT(*) into sel
FROM Client_Statistics;
IF sel != NULL
THEN
INSERT INTO Client_Statistics (id, client_id, year, month, order_count, order_sum)
VALUES (cs_seq.nextval, cs_seq.nextval, 2019, 5, cs_seq.nextval, cs_seq.nextval);
END IF;
END add_record_with_sequence;
Я ожидаю, что триггер сработает, если мой код в первом IF
условии будет выполнен. Заранее спасибо.