1. 程式人生 > >SQL 獲取表字段和欄位說明

SQL 獲取表字段和欄位說明

--查詢示例 (如果不加WHERE條件,會查出前2000行)

SELECT * FROM V_GetTabDefine WHERE TableName='表名'

--查詢結果


--建立檢視

CREATE VIEW [dbo].[V_GetTabDefine]
AS
SELECT   TOP (2000) 
                d.name AS 'TableName',
CASE WHEN a.colorder = 1 THEN d .name ELSE '' END AS 表名, 
                CASE WHEN a.colorder = 1 THEN ISNULL(f.VALUE, '') ELSE '' END AS 表說明, a.colorder AS 欄位序號, a.name AS 欄位名, 
                ISNULL(g.value, '') AS 欄位說明, CASE WHEN COLUMNPROPERTY(a.id, a.name, 'IsIdentity') 
                = 1 THEN '√' ELSE '' END AS 標識, CASE WHEN EXISTS
                    (SELECT   1
                     FROM      sysobjects
                     WHERE   xtype = 'PK' AND name IN
                                         (SELECT   name
                                          FROM      sysindexes
                                          WHERE   indid IN
                                                              (SELECT   indid
                                                               FROM      sysindexkeys
                                                               WHERE   id = a.id AND colid = a.colid))) THEN 'PK' ELSE '' END AS 主鍵, b.name AS 型別, 
                a.length AS 欄位長度, COLUMNPROPERTY(a.id, a.name, 'PRECISION') AS 佔用位元組數, 
                ISNULL(COLUMNPROPERTY(a.id, a.name, 'Scale'), 0) AS 小數位數, 
                CASE WHEN a.isnullable = 1 THEN 'Y' ELSE 'N' END AS 允許空, ISNULL(e.text, '') AS 預設值
FROM      sys.syscolumns AS a LEFT OUTER JOIN
                sys.systypes AS b ON a.xusertype = b.xusertype INNER JOIN
                sys.sysobjects AS d ON a.id = d.id AND d.xtype = 'U' AND d.name <> 'dtproperties' INNER JOIN
                sys.all_objects AS c ON d.id = c.object_id AND SCHEMA_NAME(c.schema_id) = 'dbo' LEFT OUTER JOIN
                sys.syscomments AS e ON a.cdefault = e.id LEFT OUTER JOIN
                sys.extended_properties AS g ON a.id = g.major_id AND a.colid = g.minor_id LEFT OUTER JOIN
                sys.extended_properties AS f ON d.id = f.major_id AND f.minor_id = 0
ORDER BY a.id, 欄位序號

相關推薦

SQL 獲取表字說明

--查詢示例 (如果不加WHERE條件,會查出前2000行) SELECT * FROM V_GetTabDefine WHERE TableName='表名' --查詢結果 --建立檢視 CREATE VIEW [dbo].[V_GetTabDefine] AS S

sql自動獲取有格式的編碼,新增值

1、根據時間和特殊的字元加自增數獲取值,每天自動更新 SELECT CONCAT('${applyType}',DATE_FORMAT(NOW(),'%Y%m%d'), LPAD(RIGHT((CASE WHEN MAX(a.apply_no) IS NULL THEN '0

C# 如何獲取SQL Server 中指定資料表的所有型別

如何獲取指定資料表的所有欄位名和欄位型別。SqlConnection.GetSchema方法有2個過載形式,獲取指定資料表的所有欄位名和欄位型別的祕密就在GetSchema (String, String[])的第二個引數中。 定義如下: public override DataTable GetS

SQL查詢表字名稱與型別、長度

select o.name as 表名, c.name as 欄位名稱, t.name as 欄位型別, c.length as 欄位長度 from syscolumns c inner join sysobjects o on c.id = o.id and o.xtype = 'u' inner joi

oracle刪除表字oracle表增加

新增欄位的語法:alter table tablename add (column datatype [default value][null/not null],….); 修改欄位的語法:alter table tablename modify (column

SQL Server 2008獲取一個表的,型別,長度,是否主鍵,是否為空,註釋等資訊

SELECT [表名]= case when a.colorder=1 then d. name else '' end , [表說明]= case when

postgresql資料表名的獲取

pg庫表名獲取 select * from pg_tables where tablename=‘’ pg庫列名和型別註釋等獲取 –獲取欄位名、型別、註釋、是否為空: SELECT col_description(a.attrelid,a.attnum) as comment,a

獲取Django model中的的verbose_name

定義模型:  class Game(models.Model): name = models.CharField(u'遊戲名稱',max_length=30) gameid = models.CharField(u'遊戲id',max_length=20)

sql 觸發器記錄修改的

CREATE TRIGGER dbo.tri_Export_Subsidiary_update    ON  dbo.Export_Subsidiary    AFTER UPDATE    AS  BEGIN     -- SET NOCOUNT ON added to p

Hibernate JPA 根據Java類獲取對應資料庫的表名名稱

專案中使用 Hibernate JPA, 需求是根據 Entity的java 類,來獲取所有的對應的資料庫欄位。 直接上程式碼。 使用者類,對應資料庫的user表 import org.hibernate.validator.constraints.NotBlank;

postgresql獲取表結構,表名、表註釋、名、型別及長度註釋(轉載)

轉載地址:https://blog.csdn.net/weixin_38924323/article/details/80982760 場景描述:navicate 將postgresql表結構匯出到Excel。 1、查詢表名和表註釋 select relna

SQLServer學習筆記 --- 如何獲取檢視 view 的型別

wechat:812716131 ------------------------------------------------------ 技術交流群請聯絡上面wechat ----------------------------------------------

獲取資料表的註釋

1、oracle:                 SELECT t1.COLUMN_NAME,                  t2.COMMENTS                  FROM user_tab_columns t1,                  user_col_comment

vb獲取、建立資料庫及包含表

Option Explicit Dim isConnect As Boolean '判斷資料庫是否連線成功 Dim ConADODB As New ADODB.Connection '用於連線MASTER系統資料庫 Dim ResADODB As New ADODB.Rec

Sql 查詢當天、本週、本月記錄日期操作、判斷表是否存在

Sql 查詢當天、本週、本月記錄 --查詢當天:    select * from info where DateDiff(dd,datetime,getdate())=0 --查詢24小時內的:    select * from info where DateDif

反射獲取物件例項的資訊

package bea.com.util; import java.lang.reflect.Field; public class reflectUtil { /** * 反射輸出欄位型別的值 * @param obj

SQL語句操作資料庫中表的COMMENT值

參考文件不太給力啊,表註釋和欄位註釋的資料不全。 1 建立表的時候寫註釋 create table test1 (     field_name int comment '欄位的註釋' )comment='表的註釋'; 2 修改表的註釋 alter table test1 comment

Oracle資料庫查詢表名的描述資訊SQL指令碼

--查詢欄位型別與名稱描述 select a.Table_name,a.column_name,a.data_type,a.data_length,a.data_precision,a.nullable,a.column_id,b.comments from user_tab

通過java反射獲取物件的

直接上Demo: package aaa; import java.lang.reflect.Field; public class test { public static void main(String[] args) throws Exception{ a

C#獲取SQLServer資料庫表名

SQLServer資料庫每個資料庫都有INFORMATION_SCHEMA檢視,資料庫的結構資訊Schema都在這裡儲存。 select TABLE_NAME,TABLE_TYPE,TABLE_CAT