SQLServer很有用的查詢語句

来源:http://www.cnblogs.com/lyyjun1203/archive/2017/05/23/6892691.html
-Advertisement-
Play Games

1、索引相關查詢 2、觸發器相關查詢 查看當前庫中所有的觸發器: 1 SELECT * FROM Sysobjects WHERE xtype = 'TR' 查看當前庫中所有的觸發器和與之相對應的表: ...


1、索引相關查詢

 1 SELECT 
 2  表名=CASE WHEN C.column_id=1 THEN O.name ELSE N'' END, 
 3  表說明=ISNULL(CASE WHEN C.column_id=1 THEN PTB.[value] END,N''), 
 4  欄位序號=C.column_id, 
 5  欄位名=C.name,
 6  主鍵=ISNULL(IDX.PrimaryKey,N''), 
 7  標識=CASE WHEN C.is_identity=1 THEN N''ELSE N'' END, 
 8  計算列=CASE WHEN C.is_computed=1 THEN N''ELSE N'' END, 
 9  類型=T.name, 
10  長度=C.max_length, 
11  精度=C.precision, 
12  小數位數=C.scale, 
13  允許空=CASE WHEN C.is_nullable=1 THEN N''ELSE N'' END, 
14  預設值=ISNULL(D.definition,N''), 
15  欄位說明=ISNULL(PFD.[value],N''), 
16  索引名=ISNULL(IDX.IndexName,N''), 
17  索引排序=ISNULL(IDX.Sort,N''), 
18  創建時間=O.Create_Date, 
19  修改時間=O.Modify_date 
20 FROM sys.columns C 
21  INNER JOIN sys.objects O 
22      ON C.[object_id]=O.[object_id] 
23          AND O.type='U' 
24          AND O.is_ms_shipped=0 
25  INNER JOIN sys.types T 
26      ON C.user_type_id=T.user_type_id 
27  LEFT JOIN sys.default_constraints D 
28      ON C.[object_id]=D.parent_object_id 
29          AND C.column_id=D.parent_column_id 
30          AND C.default_object_id=D.[object_id] 
31 LEFT JOIN sys.extended_properties PFD 
32      ON PFD.class=1 
33          AND C.[object_id]=PFD.major_id 
34          AND C.column_id=PFD.minor_id 
35 --             AND PFD.name='Caption'  -- 欄位說明對應的描述名稱(一個欄位可以添加多個不同name的描述) 
36  LEFT JOIN sys.extended_properties PTB 
37      ON PTB.class=1 
38          AND PTB.minor_id=0 
39          AND C.[object_id]=PTB.major_id 
40 --             AND PFD.name='Caption'  -- 表說明對應的描述名稱(一個表可以添加多個不同name的描述) 
41  LEFT JOIN                       -- 索引及主鍵信息 
42  ( 
43      SELECT 
44          IDXC.[object_id], 
45          IDXC.column_id, 
46          Sort=CASE INDEXKEY_PROPERTY(IDXC.[object_id],IDXC.index_id,IDXC.index_column_id,'IsDescending') 
47              WHEN 1 THEN 'DESC' WHEN 0 THEN 'ASC' ELSE '' END, 
48          PrimaryKey=CASE WHEN IDX.is_primary_key=1 THEN N''ELSE N'' END, 
49          IndexName=IDX.Name 
50      FROM sys.indexes IDX 
51      INNER JOIN sys.index_columns IDXC 
52 ON IDX.[object_id]=IDXC.[object_id] 
53              AND IDX.index_id=IDXC.index_id 
54      LEFT JOIN sys.key_constraints KC 
55          ON IDX.[object_id]=KC.[parent_object_id] 
56              AND IDX.index_id=KC.unique_index_id 
57      INNER JOIN  -- 對於一個列包含多個索引的情況,只顯示第1個索引信息 
58      ( 
59          SELECT [object_id], Column_id, index_id=MIN(index_id) 
60          FROM sys.index_columns 
61          GROUP BY [object_id], Column_id 
62      ) IDXCUQ 
63          ON IDXC.[object_id]=IDXCUQ.[object_id] 
64              AND IDXC.Column_id=IDXCUQ.Column_id 
65              AND IDXC.index_id=IDXCUQ.index_id 
66  ) IDX 
67      ON C.[object_id]=IDX.[object_id] 
68          AND C.column_id=IDX.column_id 
69 --WHERE O.name = 'KPI_ECSSSnapshot'
70 --如果只查詢指定表,加上此條件 
71 ORDER BY O.name,C.column_id 

2、觸發器相關查詢

查看當前庫中所有的觸發器:

 1 SELECT * FROM Sysobjects WHERE xtype = 'TR' 

查看當前庫中所有的觸發器和與之相對應的表:

1 SELECT tb2.name AS tableName,tb1.name AS triggerName FROM Sysobjects tb1 JOIN Sysobjects tb2 ON tb1.parent_obj=tb2.id WHERE tb1.type='TR'

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 參考: http://blog.csdn.net/allen_xu5320/article/details/47280457 查出IP 直接ADB連上去 ...
  • 1. order by (排序) 通常使用一個欄位作為參考標準,進行排序。 語法:order by 【欄位】 asc|desc;(升序、降序) tip : 校對規則 決定 排序關係。 允許多欄位排序(先按第一個欄位排序,當出現不能區分的時候,按第二個欄位進行排序,依此類推)。 【舉個慄子】 對於下表 ...
  • 正常途徑訪問Mongodb的官方網站,它只提供了msi 安裝包的下載,這種方式帶來的好處是直接作為windows的服務進行管理。 但是在有些情況下,我們希望不作為windows的服務進行安裝,比如受到公司IT 安全策略的限制,管理員許可權不會提供給我們,那麼在這種情況下,我們希望能夠通過免安裝的方式使 ...
  • 存儲引擎:也叫表類型,相當於 table 的存儲機制、索引方案等配套相關功能。 不同的存儲引擎,由於處理方式不同,帶來的功能or優化不一樣。 要根據實際需求,選擇合理的引擎。 · 存儲類型: Myisam , InnoDB , BDB , Memory , Archive 。 · 預設的 table ...
  • 運維redis很久了,一直是口頭給rd說各種要求,嘗試把這些規範總結成文檔 摘選一些可能比較通用的規則如下: ...
  • 1. 是否允許為空(Null/not Null) 規定一個欄位的值是否可以是null。預設是可以為空。 此時,插入值a = 10 , b 為空,發現可以正確插入: 若試圖插入值b = 11,而a 不做處理,發現不能正確插入,提示 a 沒有預設值。 即當對某個欄位未輸入信息時,列屬性趨向於先查找有無默 ...
  • " 1、批量數據操作 " "1.1、批量生成數據" "1.2、批量插入數據" " 2、批量生成腳本 " " 3、生成數據字典 " " 4、常見系統包 " "4.1、DBMS_OUTPUT" "4.2、DBMS_RANDOM" "4.3、其它系統包及常用方法" " 5、總結 " 1、批量數據操作 1. ...
  • 記錄下mysql-connector-java與mysql版本的對應關係,已方便以後參考,這是最新版本對應, 時間:2017年5月23日 官網文檔地址: https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-versions.html (C ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...