觸發器這個東西這是第一次真正接觸,是由於用視圖實現了分片透明性以後還想要實現操做透明性。閒話很少說,先上一段代碼:html
create trigger rtuwell_trigger_insteadof_insert on RTU_WELL instead of insert as declare @RTUID int, @WELLID int; select @RTUID=RTU_ID,@WELLID=WELL_ID from inserted; if(@RTUID>6) insert into rtuwell_2 values(@RTUID,@WELLID); else insert into rtuwell_1 values(@RTUID,@WELLID); go
最重要的部分是as
和go
中間的部分,首先須要定義變量,這個定義的變量就是你想要觸發器操做的全部變量,個人這個表裏面只有兩列,一列是RTUID,一列是WELLID,這兩個都是int型的。 sql
而後由於這個是instead of insert
因此須要把要操做的內容從inserted
黑洞中拉出來,而後再進行處理。固然若是是instead of delete
那麼就是deleted
黑洞了。 數據庫
最後附上原文連接(這裏面有詳細的內容):
SQL Server 觸發器服務器
以前就想把這個記錄到博客裏面,可是以爲之後用的機會很少,就沒記錄,可是今天課題組的同志須要用個人電腦當數據庫服務器,須要我導入數據庫,因此又用到了,我就記錄下來吧。(摘自百度知道)url
sqlcmd命令行
sqlcmd -S "localhost\SQLEXPRESS" USE [master] GO CREATE DATABASE [TEST] ON ( FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\TEST.mdf' ), ( FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\TEST_log.ldf' ) FOR ATTACH ; GO