tsql獲取sqlserver某個庫下所有表

2022-03-21 12:37:36 字數 2487 閱讀 5538

declare

@tblname

nvarchar(128

)declare my_cursor cursor

for (select

[name

]from sysobjects where xtype='u

')open

my_cursor

fetch

next

from my_cursor into

@tblname

while

@@fetch_status=0

begin

--insert into [dbo].[temp]([表名],[序號],[列名],[列說明],[資料型別],[長度],[小數字數],[標識],[主鍵],[允許空],[預設值])

select

case

when col.colorder =

1then obj.name else

''end

as表名,

col.colorder

as序號 ,

col.name

as列名 ,

isnull(ep.[

value

], '') as

列說明 ,

t.name

as資料型別 ,

col.length

as長度 ,

isnull(columnproperty(col.id, col.name, '

scale

'), 0) as

小數字數 ,

case

when

columnproperty(col.id, col.name, '

isidentity

') =

1then'1

'else

''end

as標識 ,

case

when

exists ( select

1from

dbo.sysindexes si

inner

join dbo.sysindexkeys sik on si.id =

sik.id

and si.indid =

sik.indid

inner

join dbo.syscolumns sc on sc.id =

sik.id

and sc.colid =

sik.colid

inner

join dbo.sysobjects so on so.name =

si.name

and so.xtype ='pk

'where sc.id =

col.id

and sc.colid = col.colid ) then'1

'else

''end

as主鍵 ,

case

when col.isnullable =

1then'1

'else

''end

as允許空 ,

isnull(comm.text, '') as

預設值

from

dbo.syscolumns col

left

join dbo.systypes t on col.xtype =

t.xusertype

inner

join dbo.sysobjects obj on col.id =

obj.id

and obj.xtype ='u

'and obj.status >=

0left

join dbo.syscomments comm on col.cdefault =

comm.id

left

join sys.extended_properties ep on col.id =

ep.major_id

and col.colid =

ep.minor_id

and ep.name =

'ms_description

'left

join sys.extended_properties eptwo on obj.id =

eptwo.major_id

and eptwo.minor_id =

0and eptwo.name =

'ms_description

'where obj.name =

@tblname

order

bycol.colorder

fetch

next

from my_cursor into

@tblname

endclose

my_cursor

deallocate

my_cursor

go

SQL SERVER 7 T SQL程式設計

t sql程式設計 t sql中的變數都是以 符號開頭的。以乙個 符號,開頭,叫做 使用者宣告的變數 以兩個 開頭的叫做 全域性變數 系統變數 select version select language 為變數賦值 全域性變數 系統變數 是系統來維護的,無需我們手動干預,我們只能從中獲取值 不能為...

SQL server中的T SQL語句

首先點選新建查詢 如下圖所示 建立資料庫 create database 資料庫名稱 使用資料庫 use 資料庫名稱 建立表 create table 表名 輸入完成執行時需選中 如果需要多條語句一起執行,則需要在後面 go 例如 create database 資料庫名稱 go use 資料庫名稱...

SQLSERVER之T SQL查詢(二)

今天我們討論乙個簡單的問題,由於是剛想到怕忘記記錄,所以乙個簡單的問題寫乙個部落格有點兒浪費。不過技術在於理解,在於知其然也要知其所以然,還是記錄一下同時也希望能幫到大家。sql查詢會有很多部落格,希望自己能耐心的寫下去,鞏固自己的知識。select s.sid,s.name from dbo.st...