惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

量子位
Vercel News
Vercel News
Microsoft Azure Blog
Microsoft Azure Blog
爱范儿
爱范儿
N
Netflix TechBlog - Medium
Google DeepMind News
Google DeepMind News
H
Help Net Security
罗磊的独立博客
The Cloudflare Blog
J
Java Code Geeks
博客园 - 叶小钗
I
InfoQ
B
Blog
Blog — PlanetScale
Blog — PlanetScale
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
腾讯CDC
月光博客
月光博客
博客园_首页
雷峰网
雷峰网
M
MIT News - Artificial intelligence
博客园 - 【当耐特】
美团技术团队
T
The Blog of Author Tim Ferriss
博客园 - 司徒正美

博客园 - black263

因为数据库正在使用,所以无法获得对数据库的独占访问权---还原或删除数据库的解决方法 动态获取表每一列变更记录 SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问 sql server 客户端 登录名 痕迹删除 sql 为数字加千分位 Sql Server2005恢复备份数据库问题-Error:3154 Slice a PSD Use a CSS Reset Learn Photoshop Google Code University Debug Javascript With Firebug – video tutorial CSS Compressor clean css css Optimiser CSS-Frameworks normalize.css google free web fonts 新公司报道第一天 C#连接数据库 模板类
获取表的列信息,包括列名,列数据类型,主键列..
black263 · 2012-04-18 · via 博客园 - black263

刚写的存储过程,保存一下,^_^

CREATE PROCEDURE dbo.Trans_GetTableColumnsInfo
@TableName varchar(50)
/*
根据传入的表名,获取对应表的列的信息,列名,列数据类型,数据类型长度,列是否是主键列
*/
AS
/*
获取该表的主键列的列名,保存在@ColName中
*/
declare @Sql nvarchar(200)
declare @ColName varchar(50)

set @Sql=N'select @ColName=name from syscolumns where exists(select id,indid from sysindexes wherename=''PK_'+@TableName+''' and syscolumns.id=sysindexes.id and syscolumns.colid=sysindexes.indid)'
exec sp_executesql @Sql,N'@ColName varchar(50) out',@ColName out

/*
获取该表的列信息,列名,列数据类型,列数据类型长度,列是否是主键列
*/
select syscolumns.name as ColName,systypes.name as ColType,syscolumns.length as ColLength,case syscolumns.name when @ColName then 1 else 0 end as IsPkColumn
from syscolumns join sysobjects on syscolumns.id=sysobjects.id join systypes on systypes.xtype=syscolumns.xtype
where sysobjects.name=@TableName
GO

---------------------------------------
简单获取主键列名,可以这样:
sp_pkeys 'youtable'

就可以得到你想要的主鍵字段的值