將sql server中所有表的列資訊顯示出來
正在作乙個關於sql server資料庫匯入excel檔案的程式,要讀取資料庫中的列的資訊,從網上找了很多資料,終於總結出來比較理想的sql語句,執行後返回的列分別是:表名、列名、列型別、列長度、列描述、是否主鍵,語句如下:
sysobjects.name
astb_name, syscolumns.name
ascol_name
, systypes.name
ascol_type, syscolumns.length
ascol_len,
isnull
(sysproperties.value,syscolumns.name)
ascol_memo,
case
when
syscolumns.name
in(select主鍵=
a.name
from
syscolumns a
inner
join
sysobjects b
ona.id
=b.id
andb.xtype='
u'andb.name
<>
'dtproperties
'where
exists
(select
1from
sysobjects
where
xtype='
pk'andname in(
select
name
from
sysindexes
where
indid in(
select
indid
from
sysindexkeys
where
id =
a.id
andcolid
=a.colid
)))
andb.name
=sysobjects.name
)then
1else
0end
asis_key
from
sysobjects,systypes,syscolumns
left
join
sysproperties
on(syscolumns.id
=sysproperties.id
andsyscolumns.colid
=sysproperties.smallid)
where
(sysobjects.xtype ='
u'orsysobjects.xtype ='
v')
andsysobjects.id
=syscolumns.id
andsystypes.xtype
=syscolumns.xtype
andsystypes.name
<>
'sysname
'and
sysobjects.name
like'%
'order
bysysobjects.name, syscolumns.colid
如果只想操作乙個表的,那麼把最後的%換成表名就可以了。
將SQL Server中所有表的列資訊顯示出來
正在作乙個關於sql server資料庫匯入excel檔案的程式,要讀取資料庫中的列的資訊,從網上找了很多資料,終於總結出來比較理想的sql語句,執行後返回的列分別是 表名 列名 列型別 列長度 列描述 是否主鍵,語句如下 select sysobjects.name as tb name,sysc...
清空SqlServer中所有表的資料
sp msforeachtable command1 delete from sp msforeachtable使用方法 1 說明 系統儲存過程sp msforeachtable和sp msforeachdb,是微軟提供的兩個不公開的儲存過程,從ms sql 6.5開始。存放在sql server的...
清空SQL Server資料庫中所有表資料的方法
原文 清空sql server資料庫中所有表資料的方法 其實刪除資料庫中資料的方法並不複雜,為什麼我還要多此一舉呢,一是我這裡介紹的是刪除資料庫的所有資料,因為資料之間可能形成相互約束關係,刪除操作可能陷入死迴圈,二是這裡使用了微軟未正式公開的sp msforeachtable儲存過程。也許很多讀者...