หมวดหมู่: SSMS

Microsoft SQL Server Management Studio (SSMS)

SQL Server: list columns เอามาใช้SQL Server: list columns เอามาใช้

เป็น sql server script ที่ list columns ที่มีทั้งตารางเอามาใช้ในการทำงานในสคริปต์อื่น ๆ ได้ โดย join คั่นคอลัมน์ด้วย , ตามลำดับที่มี จะได้ copy เอาไปใช้ทีเดียวเลย
/MSSQL/list_columns_in_one_column.sql

/****************************************************************** Query List Columns with Dynamic Filters (Supports LIKE) - FilterTable uses LIKE operator (allows %, _) - If Schema/Database is empty = Search All
******************************************************************/ -- ================= Define Search Criteria =================
DECLARE @FilterDatabase NVARCHAR (128) = ''; -- Enter DB name or leave empty to search all
DECLARE @FilterSchema NVARCHAR (128) = ''; -- Enter 'dbo' or leave empty to search all schemas
DECLARE @FilterTable	NVARCHAR (128) = 'Pitt_%'; -- Can use %, e.g. 'PP_%', '%User%', 'Log_%'
-- ========================================================================= -- (Recommended) Comment out this line to allow cross-schema search (if you only want 'dbo', enable this) IF @FilterSchema IS NULL OR @FilterSchema = '' SET @FilterSchema = 'dbo'; SELECT C.TABLE_CATALOG AS [Database], C.TABLE_SCHEMA AS [Schema], C.TABLE_NAME AS [Table], STRING_AGG (C.COLUMN_NAME, ',') WITHIN GROUP (ORDER BY C.ORDINAL_POSITION) AS [Columns]
FROM INFORMATION_SCHEMA.COLUMNS C
JOIN INFORMATION_SCHEMA.TABLES T ON C.TABLE_NAME = T.TABLE_NAME AND C.TABLE_SCHEMA = T.TABLE_SCHEMA
WHERE T.TABLE_TYPE = 'BASE TABLE' -- Only actual tables -- 1. Filter Database (if empty = get all) AND (@FilterDatabase IS NULL OR @FilterDatabase = '' OR C.TABLE_CATALOG = @FilterDatabase) -- 2. Filter Schema (if empty = get all) AND (@FilterSchema IS NULL OR @FilterSchema = '' OR C.TABLE_SCHEMA = @FilterSchema) -- 3. Filter Table with LIKE (if empty = get all) AND (@FilterTable	IS NULL OR @FilterTable	= '' OR C.TABLE_NAME LIKE @FilterTable) GROUP BY C.TABLE_CATALOG, C.TABLE_SCHEMA, C.TABLE_NAME
ORDER BY C.TABLE_SCHEMA, C.TABLE_NAME;

อ่านเพิ่มเติม