亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識(shí)庫 > SQL Server 利用觸發(fā)器對(duì)多表視圖進(jìn)行更新的實(shí)現(xiàn)方法

SQL Server 利用觸發(fā)器對(duì)多表視圖進(jìn)行更新的實(shí)現(xiàn)方法

熱門標(biāo)簽:電話機(jī)器人怎么代理商 我要地圖標(biāo)注數(shù)量有限制嗎 千呼電話機(jī)器人可以試用嗎 400電話辦理泰安 互聯(lián)網(wǎng)電話外呼系統(tǒng) 家庭農(nóng)場(chǎng)地圖標(biāo)注名稱怎樣起名 電銷需要外呼系統(tǒng)嗎 零成本地圖標(biāo)注賺錢 安卡拉地圖標(biāo)注app

其步驟就是:利用update操作觸發(fā)器產(chǎn)生的2個(gè)虛擬表【inserted】用來存儲(chǔ)修改的數(shù)據(jù)信息和【deleted】表,然后將對(duì)應(yīng)的數(shù)據(jù)更新到對(duì)應(yīng)數(shù)據(jù)表中的字段信息中;

1.首先創(chuàng)建3個(gè)表:

a.信息表:

USE [SQL-LI]
BEGIN TRANSACTION CHUANGJIAN_XINXIN_TAB 
--創(chuàng)建命名為【XINXIN_TAB】的數(shù)據(jù)表,同時(shí)不允許字段為空
CREATE TABLE XINXIN_TAB
(
姓名 NVARCHAR(10) NOT NULL,
性別 NVARCHAR(1) NOT NULL,
學(xué)號(hào) INT NOT NULL,
班級(jí) NVARCHAR(20) NOT NULL,
出生日期 DATE NOT NULL,
CONSTRAINT XUEHAO_YUESU PRIMARY KEY CLUSTERED
([學(xué)號(hào)]ASC)
)
COMMIT TRANSACTION CHUANGJIAN_XINXI_TAB
GO

b.明細(xì)分?jǐn)?shù)表:

USE [SQL-LI] 
CREATE TABLE FENSHU_TAB
(
[學(xué)號(hào)] INT NOT NULL,
[語文] DECIMAL(3,1) NOT NULL,
[數(shù)學(xué)] DECIMAL(3,1) NOT NULL,
[英語] DECIMAL(3,1) NOT NULL
)
GO

c.綜合分?jǐn)?shù)表:

USE [SQL-LI] 
CREATE TABLE ZHONGHE_TAB
(
[姓名] NVARCHAR(10) NOT NULL,
[學(xué)號(hào)] INT NOT NULL,
[總分] DECIMAL(4,1) NOT NULL,
[平均分] DECIMAL(3,1) NOT NULL)
GO

2.1.【信息表】和【明細(xì)分?jǐn)?shù)表】插入對(duì)應(yīng)表中的數(shù)據(jù):

USE [SQL-LI] 
--插入【XINXIN_TAB】表中的5條記錄
INSERT INTO [DBO].XINXIN_TAB ([姓名] ,[學(xué)號(hào)] ,[性別] ,[班級(jí)] ,[出生日期] )
VALUES('李曉峰',6080,'男','計(jì)算機(jī)','2013-05-03')

INSERT INTO [DBO].XINXIN_TAB ([姓名] ,[學(xué)號(hào)] ,[性別] ,[班級(jí)] ,[出生日期] )
VALUES('李曉峰1',6081,'男','計(jì)算機(jī)1','2013-05-04')

INSERT INTO [DBO].XINXIN_TAB ([姓名] ,[學(xué)號(hào)] ,[性別] ,[班級(jí)] ,[出生日期] )
VALUES('李曉峰2',6082,'男','計(jì)算機(jī)2','2013-05-05')

INSERT INTO [DBO].XINXIN_TAB ([姓名] ,[學(xué)號(hào)] ,[性別] ,[班級(jí)] ,[出生日期] )
VALUES('李曉峰3',6083,'男','計(jì)算機(jī)3','2013-05-06')

INSERT INTO [DBO].XINXIN_TAB ([姓名] ,[學(xué)號(hào)] ,[性別] ,[班級(jí)] ,[出生日期] )
VALUES('張曉',6084,'女','美術(shù)','2013-05-07')

--插入【FENSHU_TAB】表中的5條記錄
INSERT INTO [DBO].FENSHU_TAB ([學(xué)號(hào)] ,[語文] ,[數(shù)學(xué)] ,[英語] )
VALUES(6080,99.5,98.6,59.2)

INSERT INTO [DBO].FENSHU_TAB ([學(xué)號(hào)] ,[語文] ,[數(shù)學(xué)] ,[英語] )
VALUES(6081,93.5,94.3,55.8)

INSERT INTO [DBO].FENSHU_TAB ([學(xué)號(hào)] ,[語文] ,[數(shù)學(xué)] ,[英語] )
VALUES(6082,96.5,78.6,58.5)

INSERT INTO [DBO].FENSHU_TAB ([學(xué)號(hào)] ,[語文] ,[數(shù)學(xué)] ,[英語] )
VALUES(6083,99.5,68.4,89.2)

INSERT INTO [DBO].FENSHU_TAB ([學(xué)號(hào)] ,[語文] ,[數(shù)學(xué)] ,[英語] )
VALUES(6084,99.7,98.7,59.4)
GO

【信息表】的數(shù)據(jù):

【明細(xì)分?jǐn)?shù)表】的數(shù)據(jù):

2.2.運(yùn)算記錄【綜合分?jǐn)?shù)表】的數(shù)據(jù):

插入【ZHONGHE_TAB】中的數(shù)據(jù)
USE [SQL-LI] 
--聲明3個(gè)變量分別用來接收【平均分】,【總分】,【姓名】,和一個(gè)控制循環(huán)的條件變量@I_WHILE_XUEHAO
DECLARE @I_WHILE_XUEHAO INT,@ZONGFEN DECIMAL(4,1),@AVGFEN DECIMAL(3,1),@XINGMING NVARCHAR(10);
SELECT @I_WHILE_XUEHAO =6080;
--使這個(gè)變量【@I_WHILE_XUEHAO】的值指定在【學(xué)號(hào)】字段上
WHILE(@I_WHILE_XUEHAO >=6080 AND @I_WHILE_XUEHAO 6085)
BEGIN
--求取【平均分】,【總分】,【姓名】并存在聲明的變量中
SELECT @ZONGFEN =(F.語文 +F.數(shù)學(xué) +F.英語 ),@AVGFEN =(F.語文 +F.數(shù)學(xué) +F.英語 )/3,@XINGMING =X.姓名 
FROM[DBO].XINXIN_TAB AS X INNER JOIN [DBO].FENSHU_TAB AS F ON X.學(xué)號(hào) =F.學(xué)號(hào) 
WHERE X.學(xué)號(hào) =@I_WHILE_XUEHAO --與【學(xué)號(hào)同步】
--將其變量的數(shù)據(jù)插入到【ZHONGHE_TAB】的對(duì)應(yīng)字段上
INSERT INTO [DBO].ZHONGHE_TAB ([姓名] ,[學(xué)號(hào)] ,[平均分] ,[總分] )
VALUES(@XINGMING ,@I_WHILE_XUEHAO ,@AVGFEN ,@ZONGFEN )
SELECT @I_WHILE_XUEHAO +=1;  --與【學(xué)號(hào)同步】
END
GO

【綜合分?jǐn)?shù)表】的數(shù)據(jù):

3.1.1.創(chuàng)建3個(gè)表關(guān)聯(lián)的視圖:

USE [SQL-LI] 
GO
CREATE VIEW SHITU_FFENSHU_XINXI(姓名,學(xué)號(hào),平均分,總分,班級(jí),出生日期)
AS
SELECT TOP 800 X.姓名 ,F.學(xué)號(hào) ,Z.平均分 ,Z.總分 ,X.班級(jí) ,X.出生日期 
FROM[DBO].XINXIN_TAB AS X INNER JOIN [DBO].FENSHU_TAB AS F ON X.學(xué)號(hào) =F.學(xué)號(hào) 
  INNER JOIN [DBO].ZHONGHE_TAB AS Z ON F.學(xué)號(hào) =Z.學(xué)號(hào) 
  ORDER BY F.學(xué)號(hào) ASC
  GO

查看創(chuàng)建的視圖:

3.2.1.通過視圖修改多個(gè)數(shù)據(jù)表的信息????:

UPDATE [SQL-LI].[dbo].[SHITU_FFENSHU_XINXI]
SET [姓名] = 'aaaaa', --此字段在【信息表】中
[平均分] =111  --此次字段在【分?jǐn)?shù)】中
WHERE [學(xué)號(hào)]=6080
GO

結(jié)果:

下面就寫個(gè)利用觸發(fā)器對(duì)其多表進(jìn)行更新的方法:

a.這里就利用instead of 代替觸發(fā)來代替對(duì)各表中的字段內(nèi)的信息進(jìn)行修改:

USE [SQL-LI] 
GO
CREATE TRIGGER TRIGG_UPDATE --創(chuàng)建一個(gè)upda觸發(fā)器DML
--關(guān)聯(lián)到[SHITU_FFENSHU_XINXI]視圖上
ON[DBO].[SHITU_FFENSHU_XINXI]
INSTEAD OF UPDATE --代替觸發(fā)器執(zhí)行UPDATE功能;【但是只能定義一個(gè)增刪改的INSTEAD OF代替觸發(fā)】。
AS
--聲明接受變量用于存儲(chǔ)【inserted】表上的數(shù)據(jù)
DECLARE @XINGMING NVARCHAR(10),@XUEHAO INT,@AVGFEN DECIMAL(3,1),@ZONGFEN DECIMAL(4,1),
    @BANJI NVARCHAR(20),@CHUSHENGRIQI DATE;
    --篩選【inserted】表中學(xué)號(hào)最小的一行數(shù)據(jù)
SELECT @XUEHAO =MIN(學(xué)號(hào)) FROM[inserted] 
--遍歷【inserted】表

WHILE(@XUEHAO IS NOT NULL)
BEGIN
--將【inserted】表中的數(shù)據(jù)存放到相應(yīng)的變量中
SELECT @XUEHAO =MIN([學(xué)號(hào)])FROM[inserted] WHERE [學(xué)號(hào)]=@XUEHAO 
SELECT @XINGMING=[姓名] FROM[inserted] WHERE[學(xué)號(hào)] =@XUEHAO 
SELECT @AVGFEN=[平均分]FROM[inserted] WHERE[學(xué)號(hào)] =@XUEHAO 
SELECT @ZONGFEN=[總分] FROM[inserted] WHERE[學(xué)號(hào)] =@XUEHAO 
SELECT @BANJI =[班級(jí)]FROM[inserted] WHERE[學(xué)號(hào)] =@XUEHAO 
SELECT @CHUSHENGRIQI=[出生日期]FROM[inserted] WHERE[學(xué)號(hào)] =@XUEHAO 

--找出視圖中的字段對(duì)應(yīng)相應(yīng)表的字段
/*因?yàn)橐晥D中的[姓名]/[班級(jí)]/[出生日期]字段是XINXIN_TAB 中的字段,故修改【XINXIN_TAB】中對(duì)應(yīng)的字段
數(shù)據(jù)之*/
UPDATE[DBO].XINXIN_TAB 
SET [姓名]=@XINGMING ,[班級(jí)]=@BANJI ,[出生日期]=@CHUSHENGRIQI 
WHERE[學(xué)號(hào)]=@XUEHAO 

--道理同上
UPDATE[DBO].FENSHU_TAB 
SET[學(xué)號(hào)]=@XUEHAO 
WHERE[學(xué)號(hào)]=@XUEHAO 

--道理同上
UPDATE[DBO].ZHONGHE_TAB 
SET[平均分]=@AVGFEN ,[總分]=@ZONGFEN 
WHERE[學(xué)號(hào)]=@XUEHAO 

--修改完成后就開始篩選【inserted】表中下一條數(shù)據(jù)記錄
SELECT @XUEHAO =MIN([學(xué)號(hào)])FROM[inserted] WHERE[學(xué)號(hào)]>@XUEHAO
--然后給while中判斷 
END
GO

a1.注意的是視圖不是數(shù)據(jù)表沒有存放數(shù)據(jù),將從【inserted】表中的數(shù)據(jù)提取后賦給對(duì)應(yīng)數(shù)據(jù)表內(nèi)的字段中;

對(duì)象資源管理器中的圖示:

 3.萬事俱備,開始通過視圖修改多表中的數(shù)據(jù)(驗(yàn)證):

a

USE [SQL-LI] 
--查看未修改前的視圖數(shù)據(jù)信息
SELECT* FROM[DBO].SHITU_FFENSHU_XINXI 
GO

UPDATE[DBO].SHITU_FFENSHU_XINXI 
--修改【SHITU_FFENSHU_XINXI】中對(duì)應(yīng)的字段數(shù)據(jù)
SET[姓名]='liyifeng' ,[平均分]=66.6 ,[總分]=88.8 ,[班級(jí)]='計(jì)算機(jī)SQLServer' ,[出生日期]='2013-05-05' 
--修改篩選
WHERE[學(xué)號(hào)]=6080 
GO
--查看修改后的視圖數(shù)據(jù)信息
SELECT* FROM[DBO].SHITU_FFENSHU_XINXI 
GO

修改前后對(duì)比的結(jié)果圖示:

修改后的數(shù)據(jù)表中的數(shù)據(jù):

USE [SQL-LI] 
SELECT* FROM[XINXIN_TAB] WHERE[學(xué)號(hào)]=6080
SELECT* FROM[FENSHU_TAB] WHERE[學(xué)號(hào)]=6080
SELECT* FROM[ZHONGHE_TAB] WHERE[學(xué)號(hào)]=6080
GO

4.觸發(fā)器在數(shù)據(jù)庫里面就像顆炸彈一樣,只要滿足氣要求就會(huì)被觸發(fā),就會(huì)對(duì)數(shù)據(jù)庫里面的數(shù)據(jù)進(jìn)行觸發(fā)修改,所以不需要室就盡量將其關(guān)閉掉,用的時(shí)候就將其開啟:

關(guān)閉:

USE [SQL-LI] 
GO
DISABLE TRIGGER [DBO].TRIGG_UPDATE --關(guān)閉觸發(fā)器【TRIGG_UPDATE】
ON SHITU_FFENSHU_XINXI
GO

開啟:

USE [SQL-LI] 
GO
ENABLE TRIGGER [DBO].TRIGG_UPDATE --開啟觸發(fā)器【TRIGG_UPDATE】
ON[DBO].[SHITU_FFENSHU_XINXI] --觸發(fā)器所在的視圖
GO

GO

希望我寫的能為你解決一點(diǎn)問題,還望指教!謝謝!

您可能感興趣的文章:
  • 細(xì)說SQL Server中的視圖
  • 簡(jiǎn)析SQL Server數(shù)據(jù)庫用視圖來處理復(fù)雜的數(shù)據(jù)查詢關(guān)系
  • 解析SQL Server 視圖、數(shù)據(jù)庫快照
  • Sql Server中的系統(tǒng)視圖詳細(xì)介紹
  • Sql Server中的視圖介紹
  • SQL SERVER先判斷視圖是否存在然后再創(chuàng)建視圖的語句
  • sql server判斷數(shù)據(jù)庫、表、列、視圖是否存在
  • SQL server 視圖(view)介紹
  • 存儲(chǔ)過程解密(破解函數(shù),過程,觸發(fā)器,視圖.僅限于SQLSERVER2000)
  • SQL Server視圖的講解

標(biāo)簽:濱州 池州 來賓 黃山 大同 東營(yíng) 文山 新鄉(xiāng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《SQL Server 利用觸發(fā)器對(duì)多表視圖進(jìn)行更新的實(shí)現(xiàn)方法》,本文關(guān)鍵詞  SQL,Server,利用,觸發(fā)器,對(duì),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《SQL Server 利用觸發(fā)器對(duì)多表視圖進(jìn)行更新的實(shí)現(xiàn)方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于SQL Server 利用觸發(fā)器對(duì)多表視圖進(jìn)行更新的實(shí)現(xiàn)方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    国产伦精品一区三区视频| 精品国产一区二区三区精东影业 | 免费国产在线视频| 尤物视频网站在线观看| 精品国产三级a| 久草免费在线色站| 日本在线www| 午夜激情视频在线播放| 高清一级毛片一本到免费观看| 美国一区二区三区| 日日夜夜婷婷| 日韩一级黄色大片| 欧美激情一区二区三区中文字幕| 欧美大片aaaa一级毛片| 国产伦精品一区二区三区在线观看| 成人高清免费| 免费的黄视频| 999久久狠狠免费精品| 九九免费高清在线观看视频| 精品在线观看一区| 亚洲第一页乱| 国产精品1024在线永久免费| 精品毛片视频| 国产精品免费精品自在线观看| 夜夜操网| 欧美18性精品| 国产一级生活片| 一级女人毛片人一女人| 人人干人人草| 香蕉视频久久| 日日夜夜婷婷| 91麻豆国产| 超级乱淫黄漫画免费| 一级毛片视频免费| 亚洲精品久久久中文字| 91麻豆精品国产自产在线观看一区| 精品久久久久久综合网| 欧美激情伊人| 九九精品影院| 久久成人综合网| 日本免费看视频| 欧美一级视频高清片| 九九免费精品视频| 亚洲 男人 天堂| 天天色色色| 精品视频一区二区| 国产亚洲精品成人a在线| 亚欧成人毛片一区二区三区四区 | 日韩专区亚洲综合久久| 可以在线看黄的网站| 欧美日本韩国| 欧美激情一区二区三区在线| 黄视频网站免费| 欧美a级大片| 国产视频一区二区在线观看 | 欧美1区2区3区| 亚洲精品中文字幕久久久久久| 99久久精品国产高清一区二区| 日韩免费在线观看视频| 国产精品1024在线永久免费| 欧美另类videosbestsex久久| 一级女性全黄久久生活片| 韩国毛片免费| 国产精品1024永久免费视频| 亚洲 欧美 成人日韩| 日本特黄一级| 免费一级片在线| 黄色免费三级| 四虎影视库| 成人免费观看视频| 精品视频在线看 | 成人免费一级毛片在线播放视频| 四虎久久影院| 成人高清免费| 日韩在线观看视频网站| 精品国产亚洲一区二区三区| 久草免费在线视频| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 久久国产精品永久免费网站| 成人a大片在线观看| 欧美a免费| 午夜精品国产自在现线拍| 亚欧乱色一区二区三区| 天天做日日干| 欧美激情一区二区三区视频 | 国产91精品露脸国语对白| 99久久网站| 欧美大片毛片aaa免费看| 青青久久网| 国产成a人片在线观看视频| 欧美大片aaaa一级毛片| 日韩在线观看视频黄| 日韩中文字幕在线观看视频| 二级特黄绝大片免费视频大片| 亚欧视频在线| 国产a视频| 麻豆午夜视频| 夜夜操网| 一级毛片视频播放| 国产a毛片| 精品久久久久久中文字幕一区| 精品国产一区二区三区国产馆| 国产成人精品综合| 国产a一级| 青青久久国产成人免费网站| 日韩中文字幕在线亚洲一区 | 青青青草影院 | 亚洲精品影院| 国产网站在线| 国产不卡在线观看| 免费毛片播放| 亚欧视频在线| 免费国产在线观看不卡| 亚欧成人毛片一区二区三区四区 | 成人a大片在线观看| 精品久久久久久中文字幕2017| 欧美激情一区二区三区在线| 国产91丝袜高跟系列| 91麻豆国产级在线| 精品国产亚洲人成在线| 色综合久久天天综合绕观看| 91麻豆爱豆果冻天美星空| 欧美激情一区二区三区在线播放 | 欧美大片毛片aaa免费看| 久久国产精品自由自在| 四虎影视库国产精品一区| 四虎久久影院| 国产激情一区二区三区| 国产高清在线精品一区a| 国产国语对白一级毛片| 国产91精品一区二区| 日日夜人人澡人人澡人人看免| 国产伦久视频免费观看视频| 黄色免费网站在线| 国产91精品一区二区| 国产成a人片在线观看视频| 韩国毛片基地| 成人免费网站久久久| 精品国产香蕉伊思人在线又爽又黄| 99久久精品费精品国产一区二区| 精品国产一级毛片| 高清一级淫片a级中文字幕| 久久精品免视看国产明星| 青青久在线视频| 国产一区二区精品尤物| 999精品视频在线| 国产成人啪精品| 你懂的日韩| 欧美激情在线精品video| 欧美激情一区二区三区视频 | 国产高清在线精品一区二区| 日本免费乱人伦在线观看| 国产高清视频免费| 成人高清视频在线观看| 国产伦精品一区三区视频| 国产极品白嫩美女在线观看看| 日本免费乱理伦片在线观看2018| 日本特黄特色aa大片免费| 欧美激情一区二区三区在线 | 成人a级高清视频在线观看| 日韩男人天堂| 久久精品免视看国产成人2021| 欧美国产日韩久久久| 青草国产在线| 精品国产一区二区三区久| 一本高清在线| 一级毛片看真人在线视频| 精品久久久久久免费影院| 一级女性大黄生活片免费| 国产网站免费视频| 午夜久久网| 欧美激情一区二区三区在线 | 精品视频免费看| 午夜在线亚洲| 精品视频一区二区三区| 91麻豆精品国产综合久久久| 夜夜操网| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 欧美一级视频高清片| 精品国产一区二区三区精东影业| 国产91丝袜高跟系列| 国产韩国精品一区二区三区| 一级女性大黄生活片免费| 日韩免费在线视频| 日韩欧美一及在线播放| 日韩一级黄色片| 日韩av片免费播放| 久久久久久久免费视频| 日本在线www| 免费一级生活片| 精品在线视频播放| 日本免费乱人伦在线观看| 青草国产在线| 日韩中文字幕一区二区不卡| 99久久精品费精品国产一区二区| 尤物视频网站在线| 国产精品免费精品自在线观看| 日韩欧美一二三区| 久久99中文字幕久久| 国产亚洲男人的天堂在线观看|