【SQL语句】 - Ctrl+3 查询表属性的存储过程
2015-07-24 09:58
295 查看
/**-- ============================================= Author: xft CteateDate: 2013-10-11 Description:查看表的完整字段信息 Remark: ModifyHistory:修改 添加了字段长度和标识等信息 **/-- ============================================= CREATE PROCEDURE [dbo].[sp_select_talberowName] (@tablename varchar(max)) AS BEGIN SET NOCOUNT ON; --declare @sql varchar(max) --set @tablename=@tablename ----set @sql = 'select a.name,b.value ----from sys.syscolumns a left join sys.extended_properties b on a.id=b.major_id AND a.colid = b.minor_id ----Where a.ID=OBJECT_ID('''+@tablename+''')' --set @sql='select e.name,c.[type],e.value from (( --select a.name,b.value --from sys.syscolumns a left join sys.extended_properties b on a.id=b.major_id AND a.colid = b.minor_id --Where a.ID=OBJECT_ID('''+@tablename+''')) as e --left join ( --select sys.columns.name,sys.types.name as [type] from sys.columns,sys.tables,sys.types --where sys.tables.object_id=sys.columns.object_id and sys.types.user_type_id=sys.columns.user_type_id --and sys.tables.name='''+@tablename+''') as c --on e.name=c.name)' --print @sql --exec (@sql) DECLARE @sql Nvarchar(2000) SET @sql = 'SELECT 字段序号=a.column_id, 字段名=a.name, 类型=b.name, 长度=a.max_length, 小数位数=a.scale, 标识=case when a.is_identity = 1 THEN '+''''+'是'+''''+' else '+ ''''+''+'''' +' end, 主键=case when exists(SELECT 1 FROM sys.objects where type='+''''+'PK'+''''+' and name in ( SELECT name FROM sys.indexes WHERE index_id in( SELECT index_id FROM sys.index_columns WHERE object_id = a.object_id AND column_id=a.column_id ))) then '+''''+'是'+''''+' else '+''''+''+''''+'end, 允许空=case when a.is_nullable=1 then '+''''+'是'+''''+' else '+''''+''+''''+' end, 默认值=isnull(e.text,'+''''+''+''''+'), 字段说明=isnull(g.[value],'+''''+''+''''+') FROM sys.columns a left join sys.types b on a.user_type_id=b.user_type_id inner join sys.tables d on a.object_id=d.object_id left join sys.syscomments e on a.default_object_id=e.id left join sys.extended_properties g on a.object_id=g.major_id and a.column_id=g.minor_id left join sys.extended_properties f on d.object_id=f.major_id and f.minor_id=0 WHERE d.name='+''''+@tablename+''''+'order by d.name,a.column_id' EXEC sp_executesql @sql END GO
相关文章推荐
- FineReport制作可动态展开的组织递归树报表
- Mysql 存储引擎中InnoDB与Myisam的主要区别
- 【MySQL学习】MySQL管理
- Mysql整数运算NULL值处理注意点
- MYSQL---LIMIT
- mongodb的复制集配置
- mongodb java操作
- SQL游标的使用及实例
- Hive安装以及部署(Ubuntu-MySql)
- Oracle 删除重复数据只留一条
- SQL---having
- mongodb 增删改查
- 搭建简单的 mongodb
- 无法连接到SQL Server 2008 R2
- MongoDB 的使用
- MongoDB  安全
- 搭建高可用的MongoDB集群(上):MongoDB的配置与副本集----- 个人记录
- MySQL GROUP_CONCAT函数返回BLOB
- CentOS7_x86_64安装Oracle10g R2血泪史
- SQL 基础语句(一)