【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
【SQL语句】 - Ctrl+3 查询表属性的存储过程 [sp_select_talberowName]的更多相关文章
- 【SQL语句】 - Ctrl+3 查询表属性的存储过程
/**-- ============================================= Author: xft CteateDate: 2013-10-11 Description:查 ...
- SQL语句查询数据库的触发器、存储过程、视图以及表的SQL语句
Sql Server数据库用SQL语句查询方法如下: select name from sysobjects where xtype='TR' --所有触发器 select name from sys ...
- 利用SQL语句查找某数据库中所有存储过程包含的内容(转)
Use 数据库DECLARE @ProcName varchar(50)Create Table #tmpName(Content varchar(2000))Create Table #tmp(P ...
- Entity Framework Core 执行SQL语句和存储过程
无论ORM有多么强大,总会出现一些特殊的情况,它无法满足我们的要求.在这篇文章中,我们介绍几种执行SQL的方法. 表结构 在具体内容开始之前,我们先简单说明一下要使用的表结构. public clas ...
- EF Core 执行SQL语句和存储过程
无论ORM有多么强大,总会出现一些特殊的情况,它无法满足我们的要求.在这篇文章中,我们介绍几种执行SQL的方法. 表结构 在具体内容开始之前,我们先简单说明一下要使用的表结构. public clas ...
- SQL Server中存储过程 比 直接运行SQL语句慢的原因
问题是存储过程的Parameter sniffing 在很多的资料中都描述说SQLSERVER的存储过程较普通的SQL语句有以下优点: 1. 存储过程只在创造时进行编译即可,以后每次执行存储过 ...
- SQL Server中存储过程比直接运行SQL语句慢的原因
原文:SQL Server中存储过程比直接运行SQL语句慢的原因 在很多的资料中都描述说SQLSERVER的存储过程较普通的SQL语句有以下优点: 1. 存储过程只在创造时进行编译即可,以 ...
- 存储过程(带有逻辑的sql语句)
-- 创建存储过程 DELIMITER $ -- 声明存储过程的结束符 CREATE PROCEDURE pro_test() --存储过程名称(参数列表) BEGIN ...
- PL/SQL 编程(二)游标、存储过程、函数
游标--数据的缓存区 游标:类似集合,可以让用户像操作数组一样操作查询出来的数据集,实质上,它提供了一种从集合性质的结果中提取单条记录的手段. 可以将游标形象的看成一个变动的光标,他实质上是一个指针, ...
随机推荐
- 数据库分库分表(sharding)系列(三) 关于使用框架还是自主开发以及sharding实现层面的考量
当团队对系统业务和数据库进行了细致的梳理,确定了切分方案后,接下来的问题就是如何去实现切分方案了,目前在sharding方面有不少的开源框架和产品可供参考,同时很多团队也会选择自主开发实现,而不管是选 ...
- unison实时双向数据同步
软件下载 ocamlopt下载地址:http://caml.inria.fr Unison下载地址:http://www.seas.upenn.edu/~bcpierce/unison 1.安装uni ...
- 5 输出的properties文件按照key进行排序
import java.io.BufferedWriter; import java.io.FileInputStream; import java.io.FileNotFoundException; ...
- jQuery和DOM对象
html示例 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset=" ...
- Keil C减小代码编译量大小的方法(gai)
keil-C减小代码编译大小的方法整理 方法一:(通过优化代码减小) 1.1少做乘除运算,使用左/右移位来实现乘除 Eg ,普通:a = 0x80*4: 优化:a = 0x80<<2: 1 ...
- Java中循环删除list中元素的方法总结
印象中循环删除list中的元素使用for循环的方式是有问题的,但是可以使用增强的for循环,然后在今天使用的时候发现报错了,然后去科普了一下,发现这是一个误区.下面我们来一起看一下. Java中循环遍 ...
- 文件:因为懂你,所以永恒 - 零基础入门学习Python028
文件:因为懂你,所以永恒 让编程改变世界 Change the world by program 因为懂你,所以永恒 大多数的程序都遵循着:输入->处理->输出的模型,首先接受输入数据,然 ...
- 栈应用之中缀表达式计算 MFC实现(计算器核心)
大家好,我是小鸭酱,博客地址为:http://www.cnblogs.com/xiaoyajiang 支持小数.阶乘.乘方.加减乘除.括号优先级运算,美化输出结果(显示结果末尾没有多余的0) void ...
- OC与Swift混编
群里大神发的网址,感觉有用就先收录了,暂时没时间看SWIFT,感觉代码简洁,但是可阅读性不是太高,有些代码让系统去判断类型,同样的,我们看代码的时候也得自己去判断类型,或许看多就习惯了,有时间再说吧, ...
- 开心学习系列学习笔记-----nodejs缺点
不支持故障恢复 不知你是否在调试的过程中注意,当程序有错误发生时,整个进程就会结束,需要重 新在终端中启动服务器.这一点在开发中无可厚非,但在产品环境下就是严重的问题 了,因为一旦用户访问时触 ...