獲取SQL Server表字段的各種屬性實(shí)例代碼_Mssql數(shù)據(jù)庫(kù)教程
推薦:在sqlserver2005中安裝sql server 2000的示例數(shù)據(jù)庫(kù)northwind的方法裝完sql server 2005后卻沒(méi)有找到ms的示例數(shù)據(jù)庫(kù)northwind 后來(lái)查看安裝光盤(pán)發(fā)現(xiàn)sql server 2005種只有adventurework與adventureworkDW這兩個(gè)sample database 到ms官方站找了好久 才找到sql server 2000的sample database
復(fù)制代碼 代碼如下:www.hl5o.cn
-- SQL Server 2000
SELECT a.name AS 字段名, 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 '1' ELSE '0' END AS 主鍵, CASE WHEN COLUMNPROPERTY(a.id, a.name,
'IsIdentity') = 1 THEN '1' ELSE '0' END AS 標(biāo)識(shí), b.name AS 類(lèi)型,
a.length AS 占用字節(jié)數(shù), COLUMNPROPERTY(a.id, a.name, 'PRECISION') AS 長(zhǎng)度,
a.xscale AS 小數(shù), a.isnullable AS 可空, ISNULL(e.text, '') AS 默認(rèn)值, ISNULL(g.[value],
'') AS 字段說(shuō)明
FROM syscolumns a LEFT OUTER JOIN
systypes b ON a.xusertype = b.xusertype INNER JOIN
sysobjects d ON a.id = d.id AND d.xtype = 'U' AND
d.name <> 'dtsyscomments e ON a.cdefault = e.id LEFT OUTER JOIN
sysproperties g ON a.id = g.id AND a.colid = g.smallid LEFT OUTER JOIN
sysproperties f ON d.id = f.id AND f.smallid = 0
WHERE (d.name = '表名稱(chēng)')
--2。SQL SERVER 2005
SELECT 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 '1' ELSE '0' END AS 'key', CASE WHEN COLUMNPROPERTY(a.id, a.name,
'IsIdentity') = 1 THEN '1' ELSE '0' END AS 'identity', a.name AS ColName, c.name AS TypeName, a.length AS 'byte', COLUMNPROPERTY(a.id, a.name,
'PRECISION') AS 'length', a.xscale, a.isnullable, ISNULL(e.text, '') AS 'default', ISNULL(p.value, '') AS 'comment'
FROM sys.syscolumns AS a INNER JOIN
sys.sysobjects AS b ON a.id = b.id INNER JOIN
sys.systypes AS c ON a.xtype = c.xtype LEFT OUTER JOIN
sys.syscomments AS e ON a.cdefault = e.id LEFT OUTER JOIN
sys.extended_properties AS p ON a.id = p.major_id AND a.colid = p.minor_id
WHERE (b.name = 'keyfactory') AND (c.status <> '1')
--b.name = 'Keyfactory','Keyfactory'為你想要查找的數(shù)據(jù)表。
--2、SQL SERVER 2005
SELECT 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 '1' ELSE '0' END AS 'key', CASE WHEN COLUMNPROPERTY(a.id, a.name,
'IsIdentity') = 1 THEN '1' ELSE '0' END AS 'identity', a.name AS ColName, c.name AS TypeName, a.length AS 'byte', COLUMNPROPERTY(a.id, a.name,
'PRECISION') AS 'length', a.xscale, a.isnullable, ISNULL(e.text, '') AS 'default', ISNULL(p.value, '') AS 'comment'
FROM sys.syscolumns AS a INNER JOIN
sys.sysobjects AS b ON a.id = b.id INNER JOIN
sys.systypes AS c ON a.xtype = c.xtype LEFT OUTER JOIN
sys.syscomments AS e ON a.cdefault = e.id LEFT OUTER JOIN
sys.extended_properties AS p ON a.id = p.major_id AND a.colid = p.minor_id
WHERE (b.name = 'keyfactory') AND (c.status <> '1')
--b.name = 'Keyfactory','Keyfactory'為你想要查找的數(shù)據(jù)表。
分享:where條件順序不同、性能不同示例探討where條件順序不同,性能不同,這個(gè)建議在Oracle11G版本還合適嗎,想提高性能的的朋友可以參考下哈
相關(guān)Mssql數(shù)據(jù)庫(kù)教程:
- sql 語(yǔ)句練習(xí)與答案
- 深入C++ string.find()函數(shù)的用法總結(jié)
- SQL Server中刪除重復(fù)數(shù)據(jù)的幾個(gè)方法
- sql刪除重復(fù)數(shù)據(jù)的詳細(xì)方法
- SQL SERVER 2000安裝教程圖文詳解
- 使用sql server management studio 2008 無(wú)法查看數(shù)據(jù)庫(kù),提示 無(wú)法為該請(qǐng)求檢索數(shù)據(jù) 錯(cuò)誤916解決方法
- SQLServer日志清空語(yǔ)句(sql2000,sql2005,sql2008)
- Sql Server 2008完全卸載方法(其他版本類(lèi)似)
- sql server 2008 不允許保存更改,您所做的更改要求刪除并重新創(chuàng)建以下表
- SQL Server 2008 清空刪除日志文件(瞬間日志變幾M)
- Win7系統(tǒng)安裝MySQL5.5.21圖解教程
- 將DataTable作為存儲(chǔ)過(guò)程參數(shù)的用法實(shí)例詳解
Mssql數(shù)據(jù)庫(kù)教程Rss訂閱編程教程搜索
Mssql數(shù)據(jù)庫(kù)教程推薦
- SQL SERVER 2000安裝教程圖文詳解
- 淺析SQL2008的Change Data Capture功能
- 解決SQLServer2000因登陸失敗無(wú)法啟動(dòng)服務(wù)的方法
- 解析SQL 2000和Sql 2005如何相互轉(zhuǎn)換
- 解讀SQL Server與Access語(yǔ)法小差異
- 將DataTable作為存儲(chǔ)過(guò)程參數(shù)的用法實(shí)例詳解
- 淺談SQL Server元數(shù)據(jù)的管理與應(yīng)用
- 詳解MySQL權(quán)限
- 解讀SQL Server如何備份文件導(dǎo)入當(dāng)前數(shù)據(jù)庫(kù)
- 詳解:SQL Server 2000 的各種版本
猜你也喜歡看這些
- 從mysql中導(dǎo)出單個(gè)表結(jié)構(gòu)和數(shù)據(jù)
- CentOS6.4系統(tǒng)中Mysql數(shù)據(jù)庫(kù)卸載、安裝與配置
- 關(guān)于Mysql查詢(xún)帶單引號(hào)及插入帶單引號(hào)字符串問(wèn)題
- 如何用workbench導(dǎo)出mysql數(shù)據(jù)庫(kù)關(guān)系圖
- Windows環(huán)境下重置mysql密碼操作命令
- 基于一致性hash算法(consistent hashing)的使用詳解
- Mysql兩種情況下更新字段中部分?jǐn)?shù)據(jù)的方法
- MySQL為什么會(huì)索引失效?
- mysql 導(dǎo)入導(dǎo)出數(shù)據(jù)庫(kù)以及函數(shù)、存儲(chǔ)過(guò)程的介紹
- MySQL筆記之子查詢(xún)使用介紹
- 相關(guān)鏈接:
- 教程說(shuō)明:
Mssql數(shù)據(jù)庫(kù)教程-獲取SQL Server表字段的各種屬性實(shí)例代碼
。