Вниз
Скачать: CL | DM;

проблема с созданием тригера   Найти похожие ветки 

 
Denis Tkachov   (2003-08-11 11:59) [0]

подскажите пожалуйста в чем тут может быть проблема?
пишу такой триггер
CREATE TRIGGER add_TV FOR TV_NAME after insert POSITION 10 AS
declare variable name varchar(100);
BEGIN
:name = mergename("t",id);
alter table tv add :name;
END
при попытке выполнить SQL генерируется исключение - "Token unknown - :"
(тут mergename(...) - UDF написана мною - "сливает" значение текстового параметра (первый параметр) с параметром типа integer - второй параметр и выдает строку, работает правильно, я проверял... )
в попытке выяснить источник ошибки, я пытаюсь выполнить такой код:
CREATE TRIGGER add_TV FOR TV_NAME after insert POSITION 10 AS
BEGIN
alter table tv add t1;
END
тут генерируется исключение - "Token unknown - alter"
хотя при выполнении кода "alter table tv add t1" вне тела тригера или процедуры никаких ошибок не возникает...
какие соображения будут?
Разве нельзя выполнять операторы ALTER TABLE в телах тригеров и процедур??


 
Zacho ©   (2003-08-11 12:06) [1]

Операторы DDL в триггерах и ХП использовать нельзя. Да и смысла особого нет. Да и не в триггере запрос alter table tv add :name , где :name - параметр, работать не будет.


 
Fiend ©   (2003-08-11 12:54) [2]

если в качесте имён используются зарезервированные слова, то надо бы их в кавычки взять(двойные ессесно)


 
Desdechado ©   (2003-08-11 13:00) [3]

как сказал Zacho, изменение метаданных доступно лишь в скриптах - об этом честно написано в документации (см. Available in ... в любой команде)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.013 c
3-1297
dito
2003-08-10 17:43
2003.09.01
Рисунки в Access с помощью ADO


1-1407
Lina
2003-08-19 16:17
2003.09.01
ListView


3-1273
dimm
2003-08-11 17:22
2003.09.01
DBLookupCombobox не открывается полностью. Т.е. хочу видеть все


3-1302
n13
2003-08-09 16:27
2003.09.01
Clarion


1-1476
imp403
2003-08-16 13:00
2003.09.01
Resources




   Наверх