|
HELP!
|
|||
---|---|---|---|
#18+
Есть две таблицы TABLE "PHONES_CHECK" "PHONE_NUM" VARCHAR2(40) NOT NULL, "UP_DATE" DATE NOT NULL, "ACTION" VARCHAR2(50) NOT NULL, "ID" NUMBER NOT NULL И TABLE "STATEMENT" "PHONE_NUM" VARCHAR2(40) NOT NULL, "UP_DATE" DATE NOT NULL, "ACTION" VARCHAR2(50) NOT NULL, CONSTRAINT "STATEMENT_PK" PRIMARY KEY ("PHONE_NUM"), CONSTRAINT "STATEMENT_UK" UNIQUE ("PHONE_NUM", "ACTION") Необходимо чтобы данный триггер при inserte в таблицу PHONES_CHECK проверял есть такой же номер тел. или нету, если есть, то UPDATE таблицу STATEMENT, нету - INSERT новые данные. CREATE OR REPLACE TRIGGER "PHONES_CHECK_ST_T32" AFTER INSERT ON PHONES_CHECK FOR EACH ROW BEGIN MERGE INTO statement s USING (SELECT :new.PHONE_NUM PHONE_NUM, :new.ACTION ACTION, :NEW.UP_DATE UP_DATE FROM dual) t ON (s.phone_num=t.PHONE_NUM) WHEN MATCHED THEN UPDATE SET ACTION=t.ACTION, UP_DATE=t.UP_DATE WHEN NOT MATCHED THEN INSERT (PHONE_NUM, ACTION, UP_DATE) VALUES (t.PHONE_NUM, t.ACTION, t.UP_DATE); END; Что здесь неправильно? Заранее благодарен! ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2008, 13:14 |
|
|
start [/forum/topic.php?fid=50&fpage=96&tid=1877588]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
2ms |
others: | 283ms |
total: | 415ms |
0 / 0 |