获得表信息:

select
syscolumns.name as field,
syscolumns.isnullable as nullis,
systypes.name as sqltype,
syscolumns.[length] as lenth,
ISNULL(sys.identity_columns.is_identity,0) as identi,
ISNULL(sys.extended_properties.value,'') as summary
from sysobjects
join syscolumns on sysobjects.id = syscolumns.id
join systypes on syscolumns.xusertype = systypes.xusertype
left join sys.identity_columns
on sys.identity_columns.object_id = syscolumns.id and sys.identity_columns.column_id = syscolumns.colid
left join sys.extended_properties on sys.extended_properties.major_id = syscolumns.id
and sys.extended_properties.minor_id = syscolumns.colid
where sysobjects.name = 'TableName'

判断表是否存在:

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[TableName]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
select 'true'
else
select 'false'
<p><strong>根据表外键名称获得主键表名称</strong></p>
SELECT
外键表ID = b.fkeyid ,
外键表名称 = object_name (b.fkeyid) ,
外键列ID = b.fkey ,
外键列名 = ( SELECT name FROM syscolumns WHERE colid = b.fkey AND id = b.fkeyid) ,
主键表ID = b.rkeyid ,
主键表名= object_name (b.rkeyid) ,
主键列ID = b.rkey ,
主键列名 = ( SELECT name FROM syscolumns WHERE colid = b.rkey AND id = b.rkeyid) ,
级联更新 = ObjectProperty (a.id, ' CnstIsUpdateCascade ' ) ,
级联删除 = ObjectProperty (a.id, ' CnstIsDeleteCascade ' )
FROM sysobjects a
join sysforeignkeys b on a.id = b.constid
join sysobjects c on a.parent_obj = c.id
where a.xtype = 'f' AND c.xtype = 'U' and a.name = 'News' select
object_name (b.fkeyid),
外键列名 = ( SELECT name FROM syscolumns WHERE colid = b.fkey AND id = b.fkeyid)
from sysobjects as a join sysforeignkeys as b on a.id=b.constid
where a.xtype='F'

判断字段是否在表中已存在

if exists(select * from syscolumns where id=object_id('table') and name='cloumn') select 'true' else select 'false'

判断字段是否在表中已存在_Oracle

select 1 from all_Tab_Columns where table_name = upper('studentinfo') and column_name = upper('class');

删除指定表中的所有索引

/*
删除指定表的所有索引,包括主键索引,唯一索引和普通索引 调用:
declare @tbName varchar(20)
set @tbName='CP_PATHINFO'
exec sp_dropindex @tbName vivianfdlpw 2005.9 引用情保留此信息
*/
if exists(select 1 from sysobjects where id=object_id('sp_dropindex') and xtype='P')
drop procedure sp_dropindex
go
create procedure sp_dropindex
@tbName varchar(20)=null --索引名
as if @tbName is null
begin
raiserror('必须提供@tbName参数',12,1)
return
end create table #
(
id int identity,
index_name varchar(50),
index_description varchar(1000),
index_keys varchar(100)
)
insert #(index_name,index_description,index_keys)
exec sp_helpindex @tbName declare @i int,@sql varchar(100)
set @i=1 while @i<=(select max(id) from #)
begin
if exists(select 1
from sysobjects A
join # B on A.name=B.index_name
where B.id=@i and A.xtype in ('PK','UQ'))
begin
select @sql='alter table '+@tbName+' drop constraint '
+(select index_name from # where id=@i)
exec(@sql)
end
else
begin
select @sql='drop index '+@tbName+'.'
+(select index_name from # where id=@i)
exec(@sql)
end set @i=@i+1
end drop table # go create index IX_SACAG on CP_PATHINFO
(
REMIND_TODAY
) declare @tbName varchar(20)
set @tbName='CP_PATHINFO'
exec sp_dropindex @tbName

SqlServer表属性查询的更多相关文章

  1. SqlServer表结构查询

    一.前言 近两天项目升级数据迁移,将老版本(sqlserver)的数据迁移到新版本(mysql)数据库,需要整理一个Excel表格出来,映射两个库之间的表格字段,示例如下: Mysql数据库查询表结构 ...

  2. sqlserver表结构查询语句

    SELECT syscolumns.name,systypes.name,syscolumns.isnullable,syscolumns.length FROM syscolumns, systyp ...

  3. 【SqlServer系列】表单查询

    1   概述 如下几个问题,如果你能解决,请继续往下看,若不能解决,请先复习SQL基础知识,再来阅读本篇文章.本篇文章深度中等左右. Q1:表StudentScores如下,用一条SQL语句查询出每门 ...

  4. SQLServer 表结构相关查询(快速了解数据库)

    -- 表结构查询 SELECT 表名 then d.name else '' end, 表说明 then isnull(f.value,'') else '' end, 字段序号 = a.colord ...

  5. MVC5+EF6简单实例---以原有SQLServer数据库两表联合查询为例

    有二三年没写代码了,**内的工作就是这样,容易废人!看到园子里这么多大侠朝气蓬勃的,我想也要学点东西并和大家分享,共同进步!快乐每一天,进步每一天!言归正传! 通过最近一段时间对MVC5.EF6的学习 ...

  6. SqlServer字段说明查询及快速查看表结构

    SqlServer字段说明查询 SELECT t.[name] AS 表名,c.[name] AS 字段名,cast(ep.[value] )) AS [字段说明] FROM sys.tables A ...

  7. SQLServer多表连接查询

    双表内部连接查询 select wName,dName from DepartMent,Worker where DepartMent.dID=Worker.did select wName,dNam ...

  8. SQLServer之多表联合查询

    多表联合查询简介 定义:连接查询是关系型数据库最主要的查询,通过连接运算符可以实现多个表连接数据查询. 分类:内连接,外连接,全外连接. 内连接 定义 内联接使用比较运算符根据每个表的通用列中的值匹配 ...

  9. SQL-Server多表关联查询并分页

    一.多表关联查询 1,left join RelaTimeLog表 和 ValidFlight表关联查询 order by t.FlightId desc 2,与group by连用 group by ...

随机推荐

  1. include子页面传递过来的参数传递到后台

    在页面上可以使用 ${param.moduleId}来获取 在判断中也可以使用${param.moduleId == "test" ? "1":"2& ...

  2. div与span

    div与span的区别: div标签属于块级元素,span标签属于行内元素,使用对比效果如下: <!DOCTYPE html> <html> <head lang=&qu ...

  3. (转)在Repeater中嵌套使用Repeater

    在一般的网站中浏览类别的用户控件通常都位于大多数 ASP.NET 页的左边,它使用户能够按类别快速的查找产品.最近遇到一个客户,因为在他网站上展示的产品并不多,所以要求在原有类别浏览的基础上将产品也加 ...

  4. android开发架构理解

    1. android 开发和普通的PC程序开发的,我觉得还是不要过度设计,因为手机开发,项目相对传统软件开发就小很多,而且手机的性能有限,过度设计代码mapping需要消耗的能相对就高,而且手机开发的 ...

  5. Oracle数据库中的blob类型解析

    Oracle的Blob字段比较特殊,他比long字段的性能要好很多,可以用来保存例如图片之类的二进制数据. 写入Blob字段和写入其它类型字段的方式非常不同,因为Blob自身有一个cursor,你必须 ...

  6. 织梦 {dede:list}列表按多种排序显示

    orderby='sortrank' 文档排序方式 orderby='hot' 或 orderby='click' 表示按点击数排列 orderby='sortrank' 或 orderby='pub ...

  7. POj3421 X-factor Chains(质因数分解+排列组合)

    POj3421X-factor Chains 一开始没读懂题意,不太明白 Xi | Xi+1 where a | b means a perfectly divides into b的意思,后来才发现 ...

  8. [Mugeda HTML5技术教程之4] Studio 概述

    Mugeda Studio 是基于云平台的制作HTML5动画的专业可视化集成开发环境,可以让你在不需要安装客户端程序的情况下,只通过浏览器就能轻松创作高质量的HTML5动画.HTML5动画相对于传统的 ...

  9. JS apply()的使用详解

    首先: apply和call的区别在哪里? 其次: 什么情况下用apply,什么情况下用call? 最后: 一般在什么情况下可以使用apply? *************************** ...

  10. MVC每层的职责

    MVC模式把应用程序分割成三层:模型.视图和控制器. 模型:模型代表着核心的业务逻辑和数据.模型封装了域实体的属性和行为,并暴露出了实体的属性. 视图: 视图负责转换模型并把它传递给表示层.视图应关注 ...