文章目录
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
SELECT col.name                        AS name,
t.name AS type,
Cast(col.length AS VARCHAR(80)) AS length,
Cast(col.xprec AS VARCHAR(80)) AS precision,
CASE
WHEN EXISTS (SELECT 1
FROM 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 'YES'
ELSE 'NO'
END AS 'key',
CASE
WHEN col.isnullable = 1 THEN 'NO'
ELSE 'YES'
END AS isnullable,
Isnull(ep.[value], NULL) AS comment
FROM dbo.syscolumns col
LEFT JOIN dbo.systypes t
ON col.xtype = t.xusertype
LEFT JOIN sys.extended_properties ep
ON col.id = ep.major_id
AND col.colid = ep.minor_id
INNER JOIN dbo.sysobjects obj
ON col.id = obj.id
AND obj.status >= 0
LEFT JOIN sys.schemas s
ON obj.uid = s.schema_id
WHERE s.name = 'schema_name'
AND obj.name = ( 'table_name' );
文章目录