/**-- =============================================
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

【SQL语句】 - Ctrl+3 查询表属性的存储过程 [sp_select_talberowName]的更多相关文章

  1. 【SQL语句】 - Ctrl+3 查询表属性的存储过程

    /**-- ============================================= Author: xft CteateDate: 2013-10-11 Description:查 ...

  2. SQL语句查询数据库的触发器、存储过程、视图以及表的SQL语句

    Sql Server数据库用SQL语句查询方法如下: select name from sysobjects where xtype='TR' --所有触发器 select name from sys ...

  3. 利用SQL语句查找某数据库中所有存储过程包含的内容(转)

    Use 数据库DECLARE @ProcName varchar(50)Create Table #tmpName(Content  varchar(2000))Create Table #tmp(P ...

  4. Entity Framework Core 执行SQL语句和存储过程

    无论ORM有多么强大,总会出现一些特殊的情况,它无法满足我们的要求.在这篇文章中,我们介绍几种执行SQL的方法. 表结构 在具体内容开始之前,我们先简单说明一下要使用的表结构. public clas ...

  5. EF Core 执行SQL语句和存储过程

    无论ORM有多么强大,总会出现一些特殊的情况,它无法满足我们的要求.在这篇文章中,我们介绍几种执行SQL的方法. 表结构 在具体内容开始之前,我们先简单说明一下要使用的表结构. public clas ...

  6. SQL Server中存储过程 比 直接运行SQL语句慢的原因

    问题是存储过程的Parameter sniffing     在很多的资料中都描述说SQLSERVER的存储过程较普通的SQL语句有以下优点: 1. 存储过程只在创造时进行编译即可,以后每次执行存储过 ...

  7. SQL Server中存储过程比直接运行SQL语句慢的原因

    原文:SQL Server中存储过程比直接运行SQL语句慢的原因 在很多的资料中都描述说SQLSERVER的存储过程较普通的SQL语句有以下优点: 1.       存储过程只在创造时进行编译即可,以 ...

  8. 存储过程(带有逻辑的sql语句)

    -- 创建存储过程 DELIMITER $       -- 声明存储过程的结束符 CREATE PROCEDURE pro_test()           --存储过程名称(参数列表) BEGIN ...

  9. PL/SQL 编程(二)游标、存储过程、函数

    游标--数据的缓存区 游标:类似集合,可以让用户像操作数组一样操作查询出来的数据集,实质上,它提供了一种从集合性质的结果中提取单条记录的手段. 可以将游标形象的看成一个变动的光标,他实质上是一个指针, ...

随机推荐

  1. Java数据输入

    以下是数据输入实例: //以下是数据输入实例 import java.util.Scanner;//导入java.util.Scanner,Scanner首字母大写 public class Test ...

  2. hdu 确定比赛名次

    算法:拓扑排序 题意:有一个比赛,现在知道很多队之间的关系:让你去让确定比赛排名: Problem Description 有N个比赛队(1<=N<=500),编号依次为1,2,3,... ...

  3. (原)10-folder交叉验证

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/6069731.html 参考网址: https://github.com/cmusatyalab/ope ...

  4. shell中的type命令

    type [-aftpP] name [name,...] -a 打印name的所有可能情况,比如type -a ls,会打印ls is aliased to 'ls --color=auto'和ls ...

  5. jsp 、js和css

    css的一些样式 1.自动换行 .AutoNewline { Word-break: break-all;/*必须*/ width :50px;/*这里是设置多宽就进行换行 */ }

  6. 转载: js jquery 获取当前页面的url,获取frameset中指定的页面的url(有修改)

    转载网址:http://blog.csdn.net/bestlxm/article/details/6800077 js jquery 怎么获取当前页面的url,获取frameset中指定的页面的ur ...

  7. NAS4Free 安装配置(三)基本配置

    基本配置 在浏览器中输入地址,进入管理界面(我的是http://192.168.0.10) 登录界面 初始用户名:admin,初始密码:nas4free 首页 进入基本配置 这里可以选择语言,有中文, ...

  8. Java学习笔记--泛型

    一个泛型类就是具有一个或者多个类型变量的类. 我们可以只关注泛型,而不会为数据存储的细节而烦恼 . java泛型(一).泛型的基本介绍和使用 http://blog.csdn.net/lonelyro ...

  9. iOS基本的发短信和打电话调用

    电话.短信是手机的基础功能,iOS中提供了接口,让我们调用.这篇文章简单的介绍一下iOS的打电话.发短信在程序中怎么调用. 1.打电话 [[UIApplication sharedApplicatio ...

  10. log4c 编译安装简单小结(ubuntu12)

    1 下载源码,解压 (假定解压到了当前用户的根目录下,位置是~/log4c-1.2.3) 2 编译安装log4c(指定--prefix极其重要,如果没有指定到/usr下会有一堆麻烦事,还有,不能按照他 ...