建乙個簡單的觸發器,謝謝!!!
1樓:網友
觸發器信畝要分開來寫,呵呵,桐首這是oracle的,我改一下滑輪森。
insert 時。
create trigger tr_inserton t1for insert as
begininsert into t2(new,id,a,b)values(1,endupdate 時。
create trigger tr_updateon t1for update as
beginupdate t2
set new = 0,id = a = ,b =end;sql server和oracle格式上有點區別,不過大體思路都一樣,你自己套用一下。
觸發器的作用,什麼時候用觸發器,建立觸發器的步驟,觸發器裡是否可以有commit, 為什麼
2樓:考試資料網
答案】: 觸發器派搭高是可以由事件來啟動執行的,存在於資料庫伺服器中的乙個過程。
作用:可以實現枝消一般的約束無法完成的複雜約束,從而實現更為複雜的完整性要求。使用觸發器並不存在嚴格的限定,只要使用者想在無人工參與的情況下完成一般的定義約束不可以完成的約束,來保證資料庫完整性,那麼就可以使用觸發器。
由於觸發器主要是用來保證資料庫的完整性的,所以要建立乙個觸發器,首先要明確該觸發器應該屬於那一種(塵尺dml,instead of,system)因為他們各有個的用途;其次就是要確定觸發器被觸發以後所設計到的資料。最後,觸發器中不可以使用commit。
觸發器怎麼寫有什麼用啊?
3樓:網友
以下供學習參考:
觸發器是一段能自動執行的程式,是一種特殊的儲存過程,其特殊性在於:
l 不允許使用引數,沒有返回值。
l 不允許使用者呼叫,當對錶進行插入,刪除,修改操作時由系統自動呼叫並執行(相當於事件方法).
觸發器可以實現比較複雜的完整性約束:
l_ 擴充套件約束,預設值和規則物件的完整性檢查。
l 自動生成資料。
l 檢查資料的修改,防止對資料不正確的修改,保證資料表之間資料的正確性和一致性。
2,觸發器的用途及優點。
l 實現資料庫中多個表的級聯修改:當修改刪除某張表的資料時,其他表的相應資料能自動修改或刪除,以保證資料的一致性(也可在設定外來鍵約束時設定相應的選項,而且效率更高).
l_檢查資料輸入的正確性:check約束在限制資料輸入時不能參照其他表中的資料。如銷售金額=數量*單價的自動計算,銷售數量不允許超過庫存量等,用check約束是無法實現的,用觸發器即可實現比check更復雜的約束檢查。
l 檢查資料修改的正確性:綜合以上兩種情況,當對錶中受觸發器保護的資料修改時,觸發器不但會自動更新其他表與其相關的資料,還可以自動檢查這些資料,只要有乙個不符合條件,則修改資料失敗。
4樓:我為人人服務隊
觸發器就是當使用者對資料庫的某個物件進行操作時,操作前,操作後觸發某乙個操作。舉例:當你對student表插入一條記錄時,那麼可以運用觸發器來達到在成績表中有新增該學生記錄的效果。
觸發程式的建立觸發程式
5樓:晚留忠
sql server使用觸發程式來處理一些條件約束。您無法使用觸發程式create、alter或drop資料庫、您無法使用觸發程式將資料庫或交易記錄檔案進行還原、並且您無法使用觸發程式進行更改sql server設定的操作(您可以參考「sql server線上叢書」所提供的完整說明)。
假如您在觸發程式中更改資料庫選項時,您所更改的選項只會在觸發程式執行期間有效,但是在觸發程式執行完畢之後,您所更改的值將會恢復到原來的值。
理論上,您可以使用return陳述式自觸發程式中傳回乙個值,但是您不應該依賴客戶端應用程式來探知該觸發程式是否存在或該觸發程式作了什麼。raiserror命令提供了乙個比較好的技術,因為大多數的應用程式的設計會掌控這些錯誤。
create trigger命令。
使用create trigger命令。
就像其它的資料庫物件一樣,您可以使用create陳述式的形式建立乙個觸發程式。create陳述式的基本語法為:
create trigger trigger_name
on table_or_view
trigger_type command_list
assql_statements
唯一性的規則。
其中trigger_name必須要遵守唯一性的規則,假如trigger_type是instead of時,table_or_view可以是檢視表名稱,因為您只可以在檢視表中定義instead of觸發程式。觸發程式不能建立在暫存資料表或系統資料表中,但是它們可以引用暫存資料表。
trigger_type關鍵詞只能是after、for或instead of其中之一;command_list可以聯合使用任何insert、update或delete命令,假如您要使用乙個以上的命令時,您可以使用逗號「,」將這些命令區隔開來。
提示。早期的sql server版本僅支援after觸發程式和trigger_type for語法,此語法在sql server 2000中也有支援,但是它與after所表示的意思是相同的。
簡單的造句,謝謝,一個簡單的造句,謝謝
校園裡的花兒,多得像天上的星星,美得像亭亭玉立的少女。天上的白雲,多得像白白的雪,軟得像甜甜的棉花糖。校園裡的花兒多得像天上的星星,美得像亭亭玉立的少女,豔得像孩子們的燦爛的笑臉,紅得像火,粉得像霞,爭芳鬥豔,美不勝收。校園裡的花兒,多得像一望無垠的草原,美得像少女含羞的面容。天空中的雲,白得像銀裝...
50分懸賞簡單c語言問題,50分懸賞一個簡單c語言問題
我執行沒什麼錯誤啊。用的是c 能詳細點說你怎麼執行的嗎?你確定 式b 輸入的正確嗎?感覺應該是l t m 0 下 m 1 上 f m t f m 1 t t 2.式b 如果說的不對的話告訴我下。我寫了個程式,看看是不是你想實現的 還有,和 孟徳 同問,我這裡就當成 sin 2t 0.5那麼算了。in...
使用多型性實現乙個簡單的計算器
父類 pclass 抽脊橘象方法 edit double i,double j 四個子類 add sub,實現自己的 edit double i,double j 簡單工廠 fclass 方法 getobject 態野正string op return obj 呼叫。pclass pc 帆悔 用js...