完整的獲取表結構語句

2022-01-24 00:01:56 字數 2444 閱讀 5325

create

proc

platform_gettableschema

@tablename

varchar

(100)as

begin

select

column_name

into

#pktable

from

(select

constraint_name,column_name

from

information_schema.constraint_column_usage

where

table_name

=@tablename

) t1

join

(select

id from

sysobjects

where

xtype=n

'pk') t2

onobject_id

(constraint_name)=id

select

d.name

as表名,

a.colorder

as列索引,

a.name

as列名,

b.name

as型別,

columnproperty

(a.id,a.name,

'precision')

as長度,

isnull

(columnproperty

(a.id,a.name,

'scale'),

0) as小數字數,

(columnproperty

(a.id,a.name,

'isidentity

')) 標識,

(case

when

p.column_name

isnot

null

then

1else

0end

) 主鍵,

(columnproperty

(a.id,a.name,

'iscomputed

')) 計算列,

k.definition 公式,

isnull

(a.isnullable,

'') 允許空,

isnull

(e.text,''

) 預設值,

isnull

(g.[

value],

'')

as欄位說明

--a代表列集合表:為每個表和檢視中的每列返回一行,並為資料庫中的儲存過程的每個引數返回一行

--b代表列型別表:為資料庫中定義的每種系統提供的資料型別和每種使用者定義的資料型別返回一行。

from

syscolumns a

left

join

systypes b

ona.xtype

=b.xusertype

--d代表物件表:在資料庫中建立的每個物件(例如約束、預設值、日誌、規則以及儲存過程)都對應一行

inner

join

sysobjects d

ona.id

=d.id

andd.xtype='

u'andd.name

<>

'dtproperties'--

e代表e.text是預設值:包含資料庫中每個檢視、規則、預設值、觸發器、check 約束、default 約束和儲存過程的項

left

join

syscomments e

ona.cdefault

=e.id

--g代表g.[value]是字段說明:針對當前資料庫中的每個擴充套件屬性返回一行。

left

join

sys.extended_properties g

ona.id

=g.major_id

anda.colid

=g.minor_id

left

join

#pktable p

ona.name

=p.column_name

left

join

(select

name,definition

from

sys.computed_columns

where

object_id

=object_id

(@tablename

)) k

ona.name

=k.name

where

d.name

=@tablename

order

bya.id,a.colorder

end

完整的獲取當前jsp檔案路徑的語句

錯誤 正確 string realpath http request.getservername request.getserverport request.getcontextpath request.getservletpath substring 0,request.getservletpat...

獲取表結構

sql server 2000 feixian sql server 2000 select 表名 case when a.colorder 1 then d.name else end 表說明 case when a.colorder 1 then isnull f.value,else end ...

獲取指定表的表結構

最近公司專案中需要做乙個使用excel員工匯入的需求,在匯入過程中,需要對資料核驗,就需要獲取相應的表結構的字段型別,及其型別精度。以下為 private mapgetcolumninfo else if map.get numeric precision null else if map.get ...