欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

獲取MSSQL 表結(jié)構(gòu)中字段的備注、主鍵等信息的sql

 更新時(shí)間:2013年09月09日 10:28:33   作者:  
本文為大家詳細(xì)介紹下如何獲取MSSQL 表結(jié)構(gòu)中字段的備注、主鍵等信息,感興趣的朋友可以參考下
1、MSSQL2000
復(fù)制代碼 代碼如下:

SELECT
表名 = case when a.colorder=1 then d.name else '' end,
表說(shuō)明 = case when a.colorder=1 then isnull(f.value,'') else '' end,
字段序號(hào) = a.colorder,
字段名 = a.name,
標(biāo)識(shí) = case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end,
主鍵 = 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,
類(lèi)型 = b.name,
占用字節(jié)數(shù) = a.length,
長(zhǎng)度 = COLUMNPROPERTY(a.id,a.name,'PRECISION'),
小數(shù)位數(shù) = isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0),
允許空 = case when a.isnullable=1 then '√'else '' end,
默認(rèn)值 = isnull(e.text,''),
字段說(shuō)明 = 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='FI_dept' --如果只查詢(xún)指定表,加上此條件
order by

a.id,a.colorder


2、MSSQL2005

use test--數(shù)據(jù)庫(kù)
go
--2005實(shí)現(xiàn)字段屬性統(tǒng)計(jì)(2000里的系統(tǒng)表sysproperties描述表、字段不存在,2005里用sys.extended_properties視圖替代)
select
[表名]=c.Name,
[表說(shuō)明]=isnull(f.[value],''),
[列名]=a.Name,
[列序號(hào)]=a.Column_id,
[標(biāo)識(shí)]=case when is_identity=1 then '√' else '' end,
[主鍵]=case when exists(select 1 from sys.objects where parent_object_id=a.object_id and type=N'PK' and name in
(select Name from sys.indexes where index_id in
(select indid from sysindexkeys where and colid=a.column_id)))
then '√' else '' end,
[類(lèi)型]=b.Name,
[字節(jié)數(shù)]=case when a.[max_length]=-1 and b.Name!='xml' then 'max/2G'
when b.Name='xml' then ' 2^31-1字節(jié)/2G'
else rtrim(a.[max_length]) end,
[長(zhǎng)度]=ColumnProperty(a.object_id,a.Name,'Precision'),
[小數(shù)]=isnull(ColumnProperty(a.object_id,a.Name,'Scale'),0),
[是否為空]=case when a.is_nullable=1 then '√' else '' end,
[列說(shuō)明]=isnull(e.[value],''),
[默認(rèn)值]=isnull(d.text,'')
from
sys.columns a
left join
sys.types b on a.user_type_id=b.user_type_id
inner join
sys.objects c on a.object_id=c.object_id and c.Type='U'
left join
syscomments d on a.default_object_id=d.ID
left join
sys.extended_properties e on e.major_id=c.object_id and e.minor_id=a.Column_id and e.class=1
left join
sys.extended_properties f on f.major_id=c.object_id and f.minor_id=0 and f.class=1
[/code]
結(jié)果:

相關(guān)文章

  • SQL Server 利用觸發(fā)器對(duì)多表視圖進(jìn)行更新的實(shí)現(xiàn)方法

    SQL Server 利用觸發(fā)器對(duì)多表視圖進(jìn)行更新的實(shí)現(xiàn)方法

    這篇文章主要介紹了SQL Server 利用觸發(fā)器對(duì)多表視圖進(jìn)行更新的實(shí)現(xiàn)方法,需要的朋友可以參考下
    2016-10-10
  • oracle學(xué)習(xí)筆記(二)

    oracle學(xué)習(xí)筆記(二)

    最近需要用的oracle,所以大家好好的學(xué)習(xí)下基礎(chǔ)并整理下資料,希望能幫助到需要的朋友。
    2011-12-12
  • sqlserver 系統(tǒng)存儲(chǔ)過(guò)程 中文說(shuō)明

    sqlserver 系統(tǒng)存儲(chǔ)過(guò)程 中文說(shuō)明

    sqlserver 系統(tǒng)存儲(chǔ)過(guò)程這樣大家就知道這些存儲(chǔ)過(guò)程的作用了。
    2009-06-06
  • sqlSQL數(shù)據(jù)庫(kù)怎么批量為存儲(chǔ)過(guò)程/函數(shù)授權(quán)呢?

    sqlSQL數(shù)據(jù)庫(kù)怎么批量為存儲(chǔ)過(guò)程/函數(shù)授權(quán)呢?

    在工作當(dāng)中遇到一個(gè)類(lèi)似這樣的問(wèn)題:要對(duì)數(shù)據(jù)庫(kù)賬戶(hù)的權(quán)限進(jìn)行清理、設(shè)置,其中有一個(gè)用戶(hù)Test,只能擁有數(shù)據(jù)庫(kù)MyAssistant的DML(更新、插入、刪除等)操作權(quán)限,另外擁有執(zhí)行數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程、函數(shù)的權(quán)限,但是不能進(jìn)行DDL操作(包括新建、修改表、存儲(chǔ)過(guò)程等...),于是需要設(shè)置登錄名Test的相關(guān)權(quán)限
    2013-08-08
  • 記一次成功的sql注入入侵檢測(cè)附帶sql性能優(yōu)化

    記一次成功的sql注入入侵檢測(cè)附帶sql性能優(yōu)化

    很多同學(xué)和園友都遇到過(guò)sql注入的,其中大部分都是代碼的不嚴(yán)謹(jǐn)造成的,都是犯過(guò)很多錯(cuò)誤才學(xué)會(huì)認(rèn)真起來(lái)
    2011-09-09
  • SQL查詢(xún)效率注意事項(xiàng)小結(jié)

    SQL查詢(xún)效率注意事項(xiàng)小結(jié)

    SQL查詢(xún)效率注意事項(xiàng)小結(jié),需要的朋友可以參考下。
    2011-12-12
  • 關(guān)于sql server批量插入和更新的兩種解決方案

    關(guān)于sql server批量插入和更新的兩種解決方案

    對(duì)于sql 來(lái)說(shuō)操作集合類(lèi)型(一行一行)是比較麻煩的一件事,而一般業(yè)務(wù)邏輯復(fù)雜的系統(tǒng)或項(xiàng)目都會(huì)涉及到集合遍歷的問(wèn)題,通常一些人就想到用游標(biāo),這里我列出了兩種方案,供大家參考
    2013-04-04
  • SQL中Merge用法詳解

    SQL中Merge用法詳解

    Merge關(guān)鍵字是一個(gè)神奇的DML關(guān)鍵字。它在SQL Server 2008被引入,它能將Insert,Update,Delete簡(jiǎn)單的并為一句,本文給大家重點(diǎn)介紹sql中merge用法,需要的朋友一起了解下吧
    2015-09-09
  • SQL?Server主鍵與外鍵設(shè)置以及相關(guān)理解

    SQL?Server主鍵與外鍵設(shè)置以及相關(guān)理解

    在數(shù)據(jù)庫(kù)的學(xué)習(xí)中對(duì)于一個(gè)表的主鍵和外鍵的認(rèn)識(shí)是非常重要的,下面這篇文章主要給大家介紹了關(guān)于SQL?Server主鍵與外鍵設(shè)置以及相關(guān)理解的相關(guān)資料,需要的朋友可以參考下
    2022-10-10
  • SQL Server的IP不能連接問(wèn)題解決

    SQL Server的IP不能連接問(wèn)題解決

    這篇文章主要給大家介紹了關(guān)于SQL Server的IP不能連接問(wèn)題的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用SQL Server具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07

最新評(píng)論