【SQL语句】 - Ctrl+3 查询表属性的存储过程 [sp_select_talberowName]
/**-- =============================================
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 index_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
最新文章
- Xamarin笔记
- Ionic- Android 开发环境搭建
- 实现UniqueAttribute唯一性约束,sqlunique约束[转]
- 由IP和掩码计算广播地址
- 4.2 EF的CRUD控制器代码
- EmguCV学习——简单算法 差分与高斯
- IBInspectable的使用
- 如何打造一款五星级的 APP ?
- RR区间锁 不是唯一索引,即使区间内没值,也锁
- ASP.NET MVC 部分视图(转)
- SQL serve创建与调用存储过程
- shell:crontab
- Git基本原理-hash算法
- Adobe Photoshop安装
- AndroBench手机性能测试
- 深度学习之GRU网络
- memcache讲解和在.net中初使用
- docker部署nginx
- 实战框架ABP
- 潭州课堂25班:Ph201805201 WEB 之 页面编写 第二课 (课堂笔记)
热门文章
- Oracle关联查询关于left/right join的那点事
- Light oj 1030 概率DP
- CCFileUtils::getFileData疑惑
- 【JAVA编码专题】深入分析 Java 中的中文编码问题
- js中constructor的作用
- python保留指定文件、删除目录其他文件的功能(1)
- Scala学习笔记--xml
- Block(一)基础-备
- C语言-cout<;<;";123";<;<;";45";<;<;endl;
- FATAL:NO bootable medium found!System halted.