日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
詳解SQLServer中DDL觸發(fā)器和索引視圖

索引視圖:

創(chuàng)新互聯(lián)公司主要從事成都做網(wǎng)站、成都網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)孝昌,10余年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):13518219792

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

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

必須是CLUSTERED和UNIQUE。

索引視圖的創(chuàng)建:

 
 
 
  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觸發(fā)器

DDL觸發(fā)器可以在整數(shù)據(jù)庫范圍內(nèi)對對象的定義、修改、刪除而觸發(fā)執(zhí)行的觸發(fā)器??梢詳?shù)據(jù)庫級別對數(shù)據(jù)庫對象進(jìn)行控制和審記?;蛘叻?wù)器級別的觸發(fā)器,如用戶登錄的審記。

DDL觸發(fā)器事件定義:

 
 
 
  1.  
  2.     type 
  3.     date-time 
  4.     spid 
  5.     name 
  6.     name 
  7.     name 
  8.     name 
  9.     name 
  10.     name 
  11.     type 
  12.     command 
  13.  

DDL觸發(fā)器的創(chuàng)建:

 
 
 
  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 

網(wǎng)頁標(biāo)題:詳解SQLServer中DDL觸發(fā)器和索引視圖
標(biāo)題鏈接:http://www.5511xx.com/article/djohgdp.html