要注意:觸發器的觸發是操作,而不是針對行記錄,這也是為什麼我一次刪除、新增很多資料時結果只有一條記錄被觸發出來,在面對一條sql語句刪除了、新增了多條記錄時需要使用游標進行操作
sql server
場景:三張表 on_duty,on_duty_future,on_duty_history1
在on_duty中刪除一條記錄,就把資料插入到另外兩張表中,資料庫語句如下:
create trigger triforhiry
on on_duty
for delete
asbegin
declare yb cursor /*宣告游標*/
for
select id,base from deleted
open yb
declare @id int,@base varchar(20)
fetch next from yb into @id,@base/*讀取第一條資料*/
while(@@fetch_status=0) /*表示成功執行fetch語句*/
begin
/* 將on_duty_future中相應的值班資訊存入on_duty*/
insert into on_duty_future values(@id,@base,'','','','','','')
insert into on_duty_history1 values(@id,@base,'','','','','','')
fetch next from yb into @id,@base /*游標下移*/
endclose yb
deallocate yb
end
最後結果就是執行一條刪除多條資料的sql語句,在其他兩張表中新增了刪除數量的資料。
用checkbox一次性刪除多條記錄
答一朋友問題 如何一次性刪除多條記錄。乙個簡單示例 現有乙個學生資訊資料庫,需要一次性刪除多條記錄 建立乙個名為del.php的檔案 如下 1 form action sc.php method post 2 table border 1 width 60 align center 3 captio...
一次性執行多條SQL語句
本地 windows 192.168.55.133 遠端1 192.168.55.9 遠端2 192.168.55.10 利用phpmyadmin來賂遠端sql server匯入大量資料時,會很慢,基於卡死。因為,它是通過web方式來上傳的,匯入之前它會首先將要匯入的.sql檔案先上傳到伺服器然後再...
shell一次性執行多條命令
1.每個命令之間用 隔開說明 各命令的執行給果,不會影響其它命令的執行。換句話說,各個命令都會執行,但不保證每個命令都執行成功。2.每個命令之間用 隔開 說明 若前面的命令執行成功,才會去執行後面的命令。這樣可以保證所有的命令執行完畢後,執行過程都是成功的。3.每個命令之間用 隔開 說明 是或的意思...