SQL Server 將所有使用者定義的資料表、欄位、資料型別等中繼資料儲存在系統資料表中。透過查詢 sysobjects、syscolumns、systypes 即可快速取得結構定義,方便產生文件或程式碼產生器使用。
SELECT name
FROM sysobjects
WHERE xtype = 'U' -- U = 使用者資料表
ORDER BY name;
SELECT *
FROM syscolumns
WHERE id = OBJECT_ID('zztsxx'); -- 替換為您的資料表名稱
SELECT
sc.name AS ColumnName,
st.name AS DataType,
sc.length AS Length,
sc.colorder AS ColumnOrder
FROM syscolumns sc
INNER JOIN systypes st ON sc.xtype = st.xtype
WHERE sc.id = OBJECT_ID('zztsxx')
ORDER BY sc.colorder;
sysobjects.xtype = 'U' 代表使用者資料表;'S' 為系統資料表,'V' 為檢視表。syscolumns.colorder 記錄欄位在資料表中的順序。systypes 儲存系統與使用者定義的資料型別資訊。sys.tables、sys.columns、sys.types,功能更完整且符合 ANSI 標準。