SQL 進階查詢實戰解析:CASE 條件彙總、CHARINDEX 字串分組、遞歸 CTE 階層顯示
三道經典 SQL 進階題目,展示條件彙總、字串分割統計、遞歸階層顯示的核心技巧與思維路徑。 題目一:依標記分欄彙總(收款/退款) 需求:同一資料表含 標記(收
SQL Server 預存程序遞歸呼叫實作:階乘計算範例與終止條件設計
預存程序支援遞歸呼叫自身,但**必須設計明確終止條件**防止無限遞歸導致堆疊溢位(預設最大巢狀層級 32)。以階乘計算示範遞歸邏輯與 OUTPUT 參數傳遞。
SQL Server 表值參數(TVP)完整實作:預存程序傳遞資料表資料的現代作法
SQL Server 2008 引入**表值參數**,以使用者定義資料表型別(UDTT)為基礎,讓預存程序/函數直接接收多筆資料列,取代 XML/字串拆解、暫存
SQL Server 自訂例外 RAISERROR 完整指南:參數詳解、捕獲處理與最佳實務
在預存程序、觸發器中拋出自訂錯誤,配合 TRY...CATCH 統一處理,實現業務邏輯驗證、游標清理、交易回滾等進階控制流。 RAISERROR 語法與參數詳
SQL Server 查詢物件定義:四種方法完整比較(含系統/使用者物件)
除 SSMS 圖介面外,四種 T-SQL 方法查詢 View、預存程序、函數、觸發器等物件定義: 方法一:OBJECT_DEFINITION(推薦、支援 MA
SQL Server 檢視目前開啟的 Cursor:三種 DMV/命令完整比較
排查「Cursor with name xxx already exists」錯誤,需檢視目前作用中游標。提供三種方法對比: 方法一:sys.dm_exec_
SQL Server 查詢啟動時間:三種方法快速取得
確認 SQL Server 服務啟動時間(對應 tempdb 建立時間),三種相容性不同的查詢方式: 方法一:sys.dm_os_sys_info(SQL S
SQL Server 查詢索引最後重建時間:透過統計資訊更新時間間接推估
SQL Server **不直接記錄** 索引重建/重組時間。但 ALTER INDEX REBUILD 會同步更新統計資訊(等同 UPDATE STATIST
SQL Server 取得伺服器名稱與 IP 位址:三種方法完整比較
根據環境限制(是否允許 xp_cmdshell),提供三種取得 SQL Server 實體伺服器名稱與 IP 位址的方法。 方法一:系統函數取得伺服器名稱 S
SQL Server 記憶體使用狀況深度診斷:Memory Clerks、Buffer Pool 與 MemToLeave 完整查詢
透過 sys.dm_os_memory_clerks 多維度剖析 SQL Server 記憶體配置:依 Clerk 類型細分保留/認可/AWE/共享/單頁/多頁
SQL Server 索引使用情況全景掃描:讀寫比、空間佔用與最後存取時間
整合 sys.indexes、sys.dm_db_index_usage_stats、sys.dm_db_partition_stats,產出單一查詢掌握所有索
SQL Server 自動偵測與建立 Missing Index:DMV 查詢與 DDL 生成腳本
SQL Server 查詢最佳化器在編譯過程中會記錄「若有此索引可改善查詢」的建議,儲存於 Missing Index 相關 DMV。本文提供完整查詢腳本,計算
SQL Server 即時監控 I/O 等待狀態:sys.dm_io_pending_io_requests 實戰查詢
當懷疑儲存子系統成為瓶頸時,結合 sys.dm_io_pending_io_requests(掛起 I/O 請求)與 sys.dm_io_virtual_fil
SQL Server 萬用字元完整指南:LIKE 模式比對實戰範例
熟練掌握 LIKE 萬用字元,能以簡潔語法解決複雜字串比對需求。本文涵蓋四大萬用字元(%、_、[]、[^])與 PATINDEX 進階應用實例。 四大萬用字元
SQL Server 使用 DDL Trigger 稽核預存程序變更:完整實作範例
建立資料庫層級 DDL 觸發器,自動記錄預存程序的 CREATE、ALTER、DROP 操作,包含執行者、時間、事件類型與完整事件 XML,滿足合規稽核與變更追
SQL Server 查詢資料表空間使用量:sp_MSforeachtable 批次收集腳本
利用非公開預存程序 sp_MSforeachtable 遍歷所有使用者資料表,呼叫 sp_spaceused 收集空間使用統計,彙總至暫存表供查詢排序。 完整
SQL Server 依分區表名查詢所屬檔案與檔案群腳本
快速查詢指定分區表對應的分區配置、檔案群與實體檔案路徑: SELECT ps.name AS PartitionSchemeName, dds
SQL Server 將欄位值串聯為字串:FOR XML PATH 技巧完整解析
需求:將資料表 Name 欄位的所有值(a, b, c, d)串聯成單一字串 a*b*c*d*。SQL Server 經典解法使用 FOR XML PATH()