Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / SQL вопрос. Подскажите, что за запись типа :new в тригерах / 8 сообщений из 8, страница 1 из 1
28.04.2003, 14:34
    #32150154
Yuraz.com
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL вопрос. Подскажите, что за запись типа :new в тригерах
Например такой триггер, :NEW сразу сравнивают с чем то, этот :NEW от куда вообще берется? (В книге клянусь не нашёл этого, но на практике вижу часто)

CREATE OR REPLACE TRIGGER "FOXPRO".fb_gds_price_trg
AFTER INSERT OR DELETE
ON lider.gds_price
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
BEGIN
IF INSERTING THEN
begin
IF :NEW.line_id >= 997000000000000 AND :NEW.line_id < 998000000000000 THEN
insert into FOXPRO.FB_GDS_PRICE (ID,FOX_ID
) values( :new.LINE_ID,
:NEW.line_id - 997000000000000
);
ELSE
insert into FOXPRO.FB_GDS_PRICE (ID,FOX_ID
) values( :new.LINE_ID,
NULL
);
END IF;
exception
WHEN DUP_VAL_ON_INDEX THEN
NULL;
end;
elsif DELETING then
delete from FOXPRO.FB_GDS_PRICE where id = :old.LINE_ID
;
end if;
END;--TRIGGER FOXPRO.FB_GDS_PRICE_TRG
...
Рейтинг: 0 / 0
28.04.2003, 14:44
    #32150167
LG
LG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL вопрос. Подскажите, что за запись типа :new в тригерах
При insert :new = <новые значения стороки>
При update :new = <новые значения стороки>
:old = <старые значения строки>
При delete :old = <старые значения строки>
...
Рейтинг: 0 / 0
28.04.2003, 14:46
    #32150169
Oracle X-pert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL вопрос. Подскажите, что за запись типа :new в тригерах
Look!
AFTER INSERT OR DELETE
t.e. :new.LINE_ID - novoe znachenie column LINE_ID
:old.LINE_ID - staroe znachenie column LINE_ID
...
Рейтинг: 0 / 0
28.04.2003, 15:15
    #32150214
Violina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL вопрос. Подскажите, что за запись типа :new в тригерах
А имеет смысл :old в случае INSERT'a?

Что имеет место в таком случае :old = NULL или :old = :new?
...
Рейтинг: 0 / 0
28.04.2003, 15:19
    #32150218
Oracle X-pert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL вопрос. Подскажите, что за запись типа :new в тригерах
Insert - t.e. vnesti novyu zapis'.
Priznak ":OLD" pri etom ne identifiziruetsya s column v RecordSet
...
Рейтинг: 0 / 0
28.04.2003, 15:22
    #32150224
Yuraz.com
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL вопрос. Подскажите, что за запись типа :new в тригерах
Теперь понял, спасибо LG, Oracle X-pert !!
...
Рейтинг: 0 / 0
28.04.2003, 15:29
    #32150232
Oracle X-pert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL вопрос. Подскажите, что за запись типа :new в тригерах
Welcome!
...
Рейтинг: 0 / 0
29.04.2003, 10:29
    #32150671
LG
LG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL вопрос. Подскажите, что за запись типа :new в тригерах
При INSERT в :old = NULL
При DELETE в :new = NULL
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / SQL вопрос. Подскажите, что за запись типа :new в тригерах / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]