Форум: "Базы";
Текущий архив: 2006.03.26;
Скачать: [xml.tar.bz2];
Внизoracle и trigger для добавления уникального значения Найти похожие ветки
← →
bobr12 (2006-01-31 17:04) [0]Используется компонент ADOQuery для создания triggera который подставляет уникальные значения:
ADOQuery10.Close;
ADOQuery10.SQL.Clear;
ADOQuery10.SQL.Add("create or replace trigger trig_st_test_1");
ADOQuery10.SQL.Add("before insert or update on st_test_1");
ADOQuery10.SQL.Add("for each row");
ADOQuery10.SQL.Add("begin");
ADOQuery10.SQL.Add("if :new.code is null then");
ADOQuery10.SQL.Add("select sq_st_test_1.nextval into :new.code from dual;");
ADOQuery10.SQL.Add("end if;");
ADOQuery10.SQL.Add("end;");
ADOQuery10.ExecSQL;
таблица st_test_1 и сиквенс sq_st_test_1 уже созданы до этого.
Возникает такая ошибка:project raised exception class EOleException with massage "Parametr object is improperly defined. Inconsistent. Inconsistent or incomplete information was provided"
При этом oracle console в созданном все таки триггере trig_st_test_1 в поле Trigger Body показывает следующий текст:
begin
if :V00001 is null then
select sq_st_test_1.nextval into :V00002 from dual;
end if;
end;
т.е. :new.code были заменены :V00001 и :V00002.
Почему так произошло и возможно ли как-нибудь с этим бороться?
← →
Johnmen © (2006-01-31 17:10) [1]ParamCheck = False
← →
bobr12 (2006-01-31 17:25) [2]Спасибо - помогло
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2006.03.26;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.048 c