AssignFile(sqlfile, 'update.sql');
Reset(sqlfile);
while not eof(sqlfile) do
begin
Readln(sqlfile, s);
sqltext:=s;
while (not eof(sqlfile)) and (uppercase(trim(s))<>'GO') do
begin
Readln(sqlfile, s);
if (uppercase(trim(s))<>'GO') then
sqltext:=sqltext+' '+s;
end;
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add(sqltext);
adoquery1.ExecSQL;
end;
CloseFile(sqlfile);
Create trigger 名 on tableName
For update
As
update t1 set ...
if @@error <> 0 goto err
update t2 set ...
if @@error <> 0 goto err
update t3 set ...
if @@error <> 0 goto err
...
return
Err:
rollback
2、在写一个INSERT以及NSERTUPDATE触发器时,如何判断其中的某个字段是否是nil(字符型)或空值,并把另一个字段的值赋给该字段?
---------------------------
if exists(select 1 from inserted where field1 is null)
update table1 set [Field1]=i.[Field3] from ...
create trigger del4tabll1
on table1
for delete
as
update tabel2 set field2=deleted.field5,Field1=deleted.field4 from deleted where tabel2.field1=deleted.field1