亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > SQL Server > 正文

sqlserver 觸發器學習(實現自動編號)

2024-08-31 00:57:18
字體:
來源:轉載
供稿:網友
總結常用基本點如下:
1、觸發器有兩種類型:數據定義語言觸發器(DDL觸發器)和數據操縱語言觸發器(DML觸發器)。
  DDL觸發器:在用戶對數據庫執行數據定義(CREATE、ALTER、DROP或相似的語句)對數據庫結構進行修改時激活而做出響應。
  DML觸發器:在用戶對數據庫執行數據操作時發生,觸發器中的代碼會被自動調用。
2、DML觸發器分類:Insert觸發器、Delete觸發器、Update觸發器、上面任意類型混合。
3、觸發器創建語法:

復制代碼 代碼如下:


CREATE TRIGGER <trigger name>
ON <table or view>
{{{FOR|AFTER} <[INSERT] [,] [UPDATE],[DELETE]>}|INSTEAN OF}
AS
<sql statement>


4、觸發器必須附加到表或視圖上,觸發器不能單獨存在。AFTER或FOR觸發器不支持視圖,INSTEAD OF支持表或視圖。
5、INSERT觸發器中,SQL Server 會創建一個插入行的副本,并把該副本插入到一個特殊表Insert表中,該表只在觸發器作用域內存在。
6、DELETE觸發器中,SQL Server 會創建一個刪除行的副本,并把該副本插入到一個特殊表Delete表中,該表只在觸發器作用域內存在。
7、UPDATE觸發器中,SQL Server認為更新的記錄是刪除了現有的記錄,插入更新后的新紀錄,所以UPDATE觸發器中包含Insert和Delete兩個特殊表,也是只存在觸發器作用域內,這兩個表的行數完全一樣。
8、觸發器盡可能簡短,因為觸發器和觸發器內的語句被一同處理,即直到語句執行完成才算是觸發器完成。如果代碼很長那觸發器運行時間就會很長。
下面是個實現自動編號功能的例子:

復制代碼 代碼如下:


--有兩張表,客戶表和項目表,要求:新建項目時自動生成項目編號,每個不同的客戶的項目的編號從1開始
--項目編號格式為PJ+"-"+"客戶編號"+"-"+"日期"+"-"+"流水號"
--如項目編號:PJ-ABCD-120805-0001
create table testAccount --創建測試客戶表
(
tAccName nvarchar(100), --客戶姓名
tAccId nvarchar(32) --客戶編號
)
create table testProject --創建測試項目表
(
tProName nvarchar(100), --項目名稱
tProId nvarchar(32), --項目編號
tIdAcc nvarchar(100), --客戶編號
tProGuid nvarchar(64) --guid
)
go
create trigger T_AutoNumber
on testProject
after insert
as
begin
declare @one nvarchar(8), --編號第一部分,PJ
@two nvarchar(32), --編號第二部分,客戶編號
@three nvarchar(8), --編號第三部分,日期
@four int, --編號第四部分,流水號
@guid nvarchar(64) --guid
set @one='PJ'
set @three= convert( varchar(8),GETDATE(),112)
--從Inserted副本表里獲取當前插入數據的客戶編碼和guid
select @two=tIdAcc,@guid=tProGuid from Inserted
--獲取編號最后四位
select @four=max(cast(right(tProId,4)as int))
from testProject
where tIdAcc=@two
--對每一個新客戶的流水號都是從1開始,已存在客戶為最大流水號加1
if @four is null
set @four=0
else
set @four=cast(@four as int)
set @four=@four+1
update testProject set tProId=@one+'-'+@two+'-'+@three+'-'+right('0000'+cast(@four as varchar),4) where tProGuid=@guid
end
go
--生成測試表數據
insert into testAccount values ('小小鴨有限公司','XXYGS')
insert into testAccount values ('丑小鴨有限公司','CXY')
insert into testProject (tProName,tIdAcc,tProGuid)values ('小鴨成長項目','XXYGS',newid())
insert into testProject (tProName,tIdAcc,tProGuid)values ('小鴨學游泳項目','XXYGS',newid())
insert into testProject (tProName,tIdAcc,tProGuid)values ('丑小鴨成長項目','CXY',newid())
select * from testProject
drop table testAccount
drop table testProject


9.調試觸發器:新建查詢窗口,輸入下來代碼,按下F11即可逐語句運行下列腳本,進入到觸發器中。也可在觸發器里設置斷點,然后按F11逐語句執行。

復制代碼 代碼如下:


begin tran
insert into testProject (tProName,tIdAcc,tProGuid)values ('小鴨成長項目','XXYGS',newid())
insert into testProject (tProName,tIdAcc,tProGuid)values ('小鴨學游泳項目','XXYGS',newid())
insert into testProject (tProName,tIdAcc,tProGuid)values ('丑小鴨成長項目','CXY',newid())
if @@TRANCOUNT>0
rollback tran

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
高清视频欧美一级| 黑人巨大精品欧美一区二区三区| 国产在线一区二区三区| 77777亚洲午夜久久多人| 91av视频在线免费观看| 亚洲精品xxxx| 国外成人在线直播| 亚洲va国产va天堂va久久| 国产91对白在线播放| 国产精品6699| 中文字幕视频在线免费欧美日韩综合在线看| 国产一区二区三区丝袜| 欧美性色xo影院| 色妞欧美日韩在线| 中日韩美女免费视频网址在线观看| 日本国产一区二区三区| 亚洲香蕉av在线一区二区三区| 日韩av在线免费播放| 精品久久香蕉国产线看观看亚洲| 久久久亚洲福利精品午夜| 精品视频在线播放色网色视频| 欧美日韩国产中文字幕| 亚洲欧美日本精品| 国产欧美在线看| 国产亚洲人成a一在线v站| 亚洲欧美综合图区| 久久久久久久久国产精品| 亚洲人在线视频| 久久国内精品一国内精品| 国产精品一二区| 国产97在线亚洲| 亚洲精品欧美日韩| 中文字幕亚洲欧美一区二区三区| 91chinesevideo永久地址| 中文字幕自拍vr一区二区三区| 91久久久在线| 成人免费在线视频网址| 亚洲人成在线播放| 国产精品高清在线观看| 成人精品一区二区三区电影免费| 久久精品视频一| 中文字幕av一区二区三区谷原希美| 国内精品久久久久久| 国产精品久久久久免费a∨| 国产精品久久久久久久久久99| 国产精品激情自拍| 欧美日韩亚洲视频| 自拍偷拍亚洲精品| 久久成人这里只有精品| 中文字幕久热精品视频在线| 久久av红桃一区二区小说| 一区二区三区视频观看| 黄色91在线观看| 精品视频偷偷看在线观看| 欧美高清视频免费观看| 亚洲人成77777在线观看网| 欧美一区二区大胆人体摄影专业网站| 亚洲精品中文字幕av| 欧美电影免费观看电视剧大全| 一本大道久久加勒比香蕉| 国产精品第10页| 日韩在线欧美在线国产在线| 国产极品jizzhd欧美| 精品国产一区二区三区四区在线观看| 97精品久久久| 日本a级片电影一区二区| 日韩女优在线播放| 亚洲视频日韩精品| 欧美视频第一页| 亚洲视频电影图片偷拍一区| 欧美一乱一性一交一视频| 国产精品av在线播放| 91麻豆桃色免费看| 亚洲网站在线观看| 91精品视频在线看| 国产精品毛片a∨一区二区三区|国| 国产精品一区二区三区在线播放| 欧美成人精品在线视频| 亚洲91精品在线观看| 久久久久久网址| 欧美大成色www永久网站婷| 欧美日韩一区二区三区在线免费观看| 奇米4444一区二区三区| 日韩欧美国产视频| 萌白酱国产一区二区| 国产精品www| 久久免费国产视频| 日韩欧美极品在线观看| 久久久久久美女| 91精品久久久久久久久久久| 欧美精品国产精品日韩精品| 日韩欧美黄色动漫| 国产精品国产自产拍高清av水多| 亚洲欧美一区二区三区在线| 日产精品99久久久久久| 91国内在线视频| 国产精品h在线观看| 久久国产精品影片| 亚洲人成网站色ww在线| 久久99热这里只有精品国产| 亚洲网站在线播放| 亚洲精品成a人在线观看| 精品成人69xx.xyz| 精品高清美女精品国产区| 亚洲精品永久免费精品| 美女精品视频一区| 午夜精品视频网站| 亚洲综合中文字幕在线观看| 欧美限制级电影在线观看| 日韩久久午夜影院| 国产精品免费观看在线| 日韩女优人人人人射在线视频| 欧美电影免费观看高清| 国产精品久久久久久久久久| 久久久久久久久国产精品| 欧美国产在线电影| 欧美日韩免费在线观看| 91视频九色网站| 亚洲97在线观看| 国产一区二区三区在线看| 亚洲字幕在线观看| 成人中文字幕+乱码+中文字幕| 欧美黑人一区二区三区| 久久人人爽人人爽爽久久| 91网站在线免费观看| 国产精品99免视看9| 欧美国产高跟鞋裸体秀xxxhd| 国产精品久久久久高潮| 成人羞羞国产免费| 日韩中文字幕av| 日韩亚洲成人av在线| 日本欧美一二三区| 久久久久这里只有精品| 久久成人人人人精品欧| 欧美一级高清免费播放| 51精品在线观看| 欧美肥老太性生活视频| 国产视频福利一区| 国产亚洲欧洲黄色| 国产伦精品一区二区三区精品视频| 欧美性少妇18aaaa视频| 综合国产在线视频| 久久乐国产精品| 成人黄色短视频在线观看| 久久精品视频网站| 亚洲天堂av在线免费| 欧美在线观看网址综合| 午夜精品国产精品大乳美女| 国产一区二中文字幕在线看| 亚洲第一页在线| 国产盗摄xxxx视频xxx69| 午夜精品在线观看| 亚洲电影第1页| 日韩一二三在线视频播| 成人福利视频在线观看| 国产精品丝袜视频| 国产狼人综合免费视频| 成人国产精品色哟哟| 精品成人久久av| 2019中文在线观看| 国产欧美日韩精品丝袜高跟鞋| 国内精品久久久久久| 日韩美女免费视频| 亚洲精品国产美女|