在数据库中运行:
create or replace trigger trg_yuekao
before update on kaoshengyuekao
for each row
begin
declare
begin
if :old.bk1 = '100' then
:new.bk1 := '100';
end if;
end;
end trg_yuekao;
可以正常添加触发器在程序中:
ADOQuery1.Connection:=ADOConnection1;
ADOQuery1.ParamCheck:=false;
ADOQuery1.SQL.Add(' create or replace trigger trg_yuekao before update on kaoshengyuekao for each row ');
ADOQuery1.SQL.Add(' begin ');
ADOQuery1.SQL.Add(' declare ');
ADOQuery1.SQL.Add(' begin ');
ADOQuery1.SQL.Add(' if :old.bk1 = ''100'' then ');
ADOQuery1.SQL.Add(' :new.bk1 := ''100''; ');
ADOQuery1.SQL.Add(' end if; ');
ADOQuery1.SQL.Add(' end; ');
ADOQuery1.SQL.Add(' end trg_yuekao; ');
ADOQuery1.ExecSQL;
运行程序不报错但不能新建触发器。
请大家帮忙
create or replace trigger trg_yuekao
before update on kaoshengyuekao
for each row
begin
declare
begin
if :old.bk1 = '100' then
:new.bk1 := '100';
end if;
end;
end trg_yuekao;
可以正常添加触发器在程序中:
ADOQuery1.Connection:=ADOConnection1;
ADOQuery1.ParamCheck:=false;
ADOQuery1.SQL.Add(' create or replace trigger trg_yuekao before update on kaoshengyuekao for each row ');
ADOQuery1.SQL.Add(' begin ');
ADOQuery1.SQL.Add(' declare ');
ADOQuery1.SQL.Add(' begin ');
ADOQuery1.SQL.Add(' if :old.bk1 = ''100'' then ');
ADOQuery1.SQL.Add(' :new.bk1 := ''100''; ');
ADOQuery1.SQL.Add(' end if; ');
ADOQuery1.SQL.Add(' end; ');
ADOQuery1.SQL.Add(' end trg_yuekao; ');
ADOQuery1.ExecSQL;
运行程序不报错但不能新建触发器。
请大家帮忙
Provider=MSDAORA.1;Password=channel;User ID=channel;Data Source=DBtest;Persist Security Info=True