成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳解SQL Server中DDL觸發器和索引視圖

數據庫 SQL Server
本文將為大家講解的是SQL Server中DDL觸發器和索引視圖,希望對大家了解DLL觸發器有所幫助。

索引視圖:

一般視圖都虛表,即視圖本身不存儲數據,而且是一個查詢,當訪問視圖時,SQL SERVER會自動根據視圖的定義來訪問基表數據。具有***的聚集索引的視圖,

索引視圖本身會存儲數據,可以加快查詢速度,但會增加數據修改的開銷。所以索引視圖適用的修改少而查詢多的表。創建索引視圖時,索引視圖的***個索引

 

必須是CLUSTERED和UNIQUE。

索引視圖的創建:

 

  1. CREATE TABLE dbo.t1  
  2. (  
  3. USERID VARCHAR(50),   
  4. USERNAME VARCHAR(256)  
  5. );  
  6. go  
  7. CREATE TABLE dbo.t2  
  8. (  
  9. USERID VARCHAR(50),   
  10. DepartID VARCHAR(50)  
  11. );  
  12. GO  
  13. CREATE TABLE dbo.t3  
  14. (  
  15. DepartID VARCHAR(50),   
  16. DepartName VARCHAR(256)  
  17. );  
  18. GO  
  19. CREATE VIEW dbo.USERINFO  
  20. WITH SCHEMABINDING  
  21. AS 
  22. SELECT a.USERID, a.USERNAME, c.DEPARTID, c.DEPARTNAME   
  23. FROM dbo.t1 a, dbo.t2 b, dbo.t3 c   
  24. WHERE a.USERID = b.USERID   
  25. AND b.DEPARTID = C.DEPARTID  
  26. GO  
  27. CREATE UNIQUE CLUSTERED INDEX IX_USERINFO_USERIDDEPARTID ON dbo.USERINFO(USERID, DEPARTID) 

SQL Server 中的DDL觸發器

DDL觸發器可以在整數據庫范圍內對對象的定義、修改、刪除而觸發執行的觸發器。可以數據庫級別對數據庫對象進行控制和審記。或者服務器級別的觸發器,如用戶登錄的審記。

DDL觸發器事件定義:

  1. <EVENT_INSTANCE> 
  2.     <EventType>type</EventType> 
  3.     <PostTime>date-time</PostTime> 
  4.     <SPID>spid</SPID> 
  5.     <ServerName>name</ServerName> 
  6.     <LoginName>name</LoginName> 
  7.     <UserName>name</UserName> 
  8.     <DatabaseName>name</DatabaseName> 
  9.     <SchemaName>name</SchemaName> 
  10.     <ObjectName>name</ObjectName> 
  11.     <ObjectType>type</ObjectType> 
  12.     <TSQLCommand>command</TSQLCommand> 
  13. </EVENT_INSTANCE> 

 

 

DDL觸發器的創建:

 

  1. CREATE TABLE dbo.t4  
  2. (  
  3. USERNAME VARCHAR(256),   
  4. TSQL VARCHAR(MAX),  
  5. CDATE DATETIME  
  6. );  
  7. GO  
  8. CREATE TRIGGER tr_dbDDL  
  9. ON DATABASE   
  10. FOR   
  11. DROP_TABLE, ALTER_TABLE, CREATE_TABLE,   
  12. CREATE_PROCEDURE, ALTER_PROCEDURE, DROP_PROCEDURE  
  13. AS 
  14. DECLARE @xdata XML;  
  15. SELECT @xdata  = EVENTDATA();  
  16. ROLLBACK;  
  17. INSERT INTO dbo.t4(USERNAME, TSQL, CDATE)  
  18. SELECT @xdata.value('(/EVENT_INSTANCE/UserName)[1]''nvarchar(max)'AS dbUserName,   
  19. @xdata.value('(/EVENT_INSTANCE/TSQLCommand)[1]''nvarchar(max)'AS T_SQL,   
  20. GETDATE() AS CDATE;  
  21.  
  22. GO  
  23. use master  
  24. go  
  25.  
  26. CREATE TABLE dbo.t5  
  27. (  
  28. USERNAME VARCHAR(256),   
  29. TSQL VARCHAR(MAX),  
  30. CDATE DATETIME  
  31. );  
  32. GO  
  33. ALTER TRIGGER tr_svrddl  
  34. ON ALL SERVER  
  35. FOR   
  36. CREATE_DATABASE, ALTER_DATABASE, DROP_DATABASE,   
  37. DDL_LOGIN_EVENTS   
  38. AS 
  39. DECLARE @xdata XML;  
  40. SELECT @xdata  = EVENTDATA();  
  41.  
  42.  
  43. INSERT INTO dbo.t4(USERNAME, TSQL, CDATE)  
  44. SELECT @xdata.value('(/EVENT_INSTANCE/LoginName)[1]''nvarchar(max)'AS dbUserName,   
  45. @xdata.value('(/EVENT_INSTANCE/TSQLCommand)[1]''nvarchar(max)'AS T_SQL,   
  46. GETDATE() AS CDATE;  
  47. GO 

 

【編輯推薦】

  1. SQL Server使用索引實現數據訪問優化
  2. SQL Server數據庫優化經驗總結
  3. 如何使用SQLServer數據庫查詢累計值
  4. 淺析Oracle和SqlServer存儲過程的調試、出錯處理
  5. 幾段SQLServer語句和存儲過程
  6. 50種方法優化SQL Server數據庫查詢

 

責任編輯:彭凡 來源: ChinaUnix
相關推薦

2010-09-13 17:03:34

sql server觸

2011-03-03 09:30:24

downmoonsql登錄觸發器

2010-06-30 09:36:25

SQL Server

2010-11-12 15:35:55

SQL Server約

2009-04-07 13:56:03

SQL Server觸發器實例

2010-07-23 15:26:29

SQL Server

2010-10-19 15:31:40

sql server觸

2010-07-16 10:19:31

2010-07-06 14:47:03

SQL Server數

2010-10-22 11:10:43

SQL Server觸

2010-11-08 11:49:24

SQL Server管

2010-10-20 14:34:48

SQL Server觸

2010-07-19 16:36:13

SQL Server視

2011-03-28 10:05:57

sql觸發器代碼

2010-07-05 11:09:55

SQL Server觸

2010-11-10 13:37:01

SQL Server觸

2011-05-19 14:29:49

Oracle觸發器語法

2010-09-13 16:39:36

sql server觸

2011-09-01 17:35:56

SQL Server DDL語句

2019-10-22 07:50:45

SqlServer數據庫觸發器
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久夜色精品国产 | 99久久婷婷国产综合精品电影 | 一级毛片免费 | 久久久久久国产精品 | 男人的天堂一级片 | 成人毛片视频在线播放 | 亚洲图片一区二区三区 | 天天干国产 | 成人在线观看免费视频 | 欧美日日 | 新超碰97 | 国产成人精品久久二区二区91 | 久久噜噜噜精品国产亚洲综合 | 亚洲精品乱码久久久久久按摩观 | 99九九视频 | 久久亚洲一区 | 一区二区三区在线 | 久久综合九九 | 久久综合九九 | 久久精品视频在线观看 | 亚洲网站在线观看 | 国产一区二区在线视频 | 99精品国产一区二区青青牛奶 | 久久新视频 | 亚洲精品在线看 | 成人h动漫亚洲一区二区 | 99精品视频在线观看 | 久久综合久久久 | 精品久久久999 | 国产丝袜一区二区三区免费视频 | 欧美日韩美女 | 成人在线观看免费视频 | 中文字幕在线观看 | 日本高清不卡视频 | 亚洲日韩中文字幕一区 | 久久91av| 一区二区视频在线 | 欧美成视频 | 日韩二| 欧州一区二区三区 | 在线播放亚洲 |