日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

SQL SERVER 获取表结构信息《转载》

發布時間:2023/11/27 生活经验 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL SERVER 获取表结构信息《转载》 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
獲取表信息
????????????????????????????? SELECT
???? 表名???????
= case when a.colorder=1 then d.name else '' end,
???? 表說明?????
= case when a.colorder=1 then isnull(f.value,'') else '' end,
???? 字段名?????
= a.name,
???? 主鍵???????
= case when exists(SELECT 1 FROM sysobjects where xtype='PK' and parent_obj=a.id and name in (
?????????????????????
SELECT name FROM sysindexes WHERE indid in(
????????????????????????
SELECT indid FROM sysindexkeys WHERE id = a.id AND colid=a.colid))) then '' else '' end,
???? 類型???????
= b.name,
???? 占用字節數
= a.length,
???? 長度???????
= COLUMNPROPERTY(a.id,a.name,'PRECISION'),
???? 默認值?????
= isnull(e.text,''),
???? 字段說明???
= isnull(g.[value],'')
FROM
???? syscolumns a
left join
???? systypes b
on
???? a.xusertype
=b.xusertype
inner join
???? sysobjects d
on
???? a.id
=d.id??and d.xtype='U' and?? d.name<>'dtproperties'
left join
???? syscomments e
on
???? a.cdefault
=e.id
left join
???? sysproperties g
on
???? a.id
=g.id and a.colid=g.smallid??
left join
???? sysproperties f
on
???? d.id
=f.id and f.smallid=0
where
???? d.name
='LW_Equipment_Stock_List'????--如果只查詢指定表,加上此條件


???? 獲取表內所有字段
???? Select?? Name???From SysColumns Where ID=OBJECT_ID('TableName') Order By ColID
下邊是關于 Sysobjects的介紹

經常我們要查詢表的索引,約束,相關性,觸發器的屬性,那么要知道sysobjects這個表的字段的意思,那么不管要查什么都沒有問題!

Sysobjects:SQL-SERVER的每個數據庫內都有此系統表,它存放該數據庫內創建的所有對象,如約束、默認值、日志、規則、存儲過程等,每個對象在表中占一行。以下是此系統表的字段名稱和相關說明。
Name,id,xtype,uid,status:分別是對象名,對象ID,對象類型,所有者對象的用戶ID,對象狀態。
對象類型(xtype)。可以是下列對象類型中的一種:
C = CHECK 約束
D = 默認值或 DEFAULT 約束
F = FOREIGN KEY 約束
L = 日志
FN = 標量函數
IF = 內嵌表函數
P = 存儲過程
PK = PRIMARY KEY 約束(類型是 K)
RF = 復制篩選存儲過程
S = 系統表
TF = 表函數
TR = 觸發器
U = 用戶表
UQ = UNIQUE 約束(類型是 K)
V = 視圖
X = 擴展存儲過程
當xtype='U' and status>0代表是用戶建立的表,對象名就是表名,對象ID就是表的ID值。
用: select * from misa.dbo.sysobjects where xtype='U' and status>0 就可以列出庫misa中所有的用戶建立的表名。

SELECT * FROM SYSOBJECTS WHERE PARENT_OBJ = OBJECT_ID( 'CS') AND XTYPE='TR'
列出表cs的所有屬性,上面是trigger!

轉載于:https://www.cnblogs.com/wengjinbao/archive/2009/08/09/1542097.html

總結

以上是生活随笔為你收集整理的SQL SERVER 获取表结构信息《转载》的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。