获得表信息:

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. linux添加JAVA环境变量

    root用户: 1.修改文件vim /etc/profile 添加以下信息: export JAVA_HOME=/home/jdk1..0_79 (这里需要添加自己的JDK安装目录) export C ...

  2. iOS调节系统音量

    目录[-] 使用MPVolumeView 编程实现系统音量调节2 通过MPVolumeSlider的实例来操作系统音量 有问题!我不喜欢系统弹出音量提示 还有问题,我修改了系统音量但是不是通过我的UI ...

  3. spark原理介绍

    1.spark是一个基于内存计算的开源的集群计算系统,目的是让数据分析更加快速.因此运行spark的机器应该尽量的大内存,如96G以上. 2.spark所有操作均基于RDD,操作主要分成2大类:tra ...

  4. Web项目中JSP页面的一种调试方法与出现的问题 -- SpringMVC架构测试

    在前端开发中,尤其是MVC架构多人开发,负责前端的童鞋总是需要做静态页面,再和后台连接前无法使用变量如EL表达式等测试功能,所以本人引入了一个模板jsp数据测试专用文件,专门配置所有的变量,然后在待测 ...

  5. 深度克隆(对象、数组)--------百度IFE前端task2

    var srcObj = { a: 1, b: { b1: ["hello", "hi"], b2: "JavaScript" }}; co ...

  6. PHP+MySQL Smarty简单分页显示示例

    一.分页程序的原理 分页程序有两个非常重要的参数:每页显示几条记录($pagesize)和当前是第几页($page). 有了这两个参数就可以很方便的写出分页程序,我们以MySql数据库作为数据源,在m ...

  7. MySQL Left Join,Right Join

    魂屁,东西发这里了关于Left Join,Right Join的 在讲MySQL的Join语法前还是先回顾一下联结的语法,呵呵,其实连我自己都忘得差不多了,那就大家一起温习吧(如果内容有错误或有疑问, ...

  8. [转载]css3属性box-sizing:border-box的作用

    http://jastate.com/css3-properties-box-sizingborder-box.html 定义和用法 按照w3c school的说法,box-sizing:border ...

  9. Holes in the text Add problem to Todo list Problem code: HOLES

    import sys def count_holes(letter): hole_2 = ['A', 'D', 'O', 'P', 'Q', 'R'] if letter == 'B': return ...

  10. ubuntu soft install

    1.Mysql 安装就三个命令 mysql服务端 sudo apt-get install mysql-server mysql客户端 sudo apt-get install mysql-clien ...