获得表信息:

  1. select
  2. syscolumns.name as field,
  3. syscolumns.isnullable as nullis,
  4. systypes.name as sqltype,
  5. syscolumns.[length] as lenth,
  6. ISNULL(sys.identity_columns.is_identity,0) as identi,
  7. ISNULL(sys.extended_properties.value,'') as summary
  8. from sysobjects
  9. join syscolumns on sysobjects.id = syscolumns.id
  10. join systypes on syscolumns.xusertype = systypes.xusertype
  11. left join sys.identity_columns
  12. on sys.identity_columns.object_id = syscolumns.id and sys.identity_columns.column_id = syscolumns.colid
  13. left join sys.extended_properties on sys.extended_properties.major_id = syscolumns.id
  14. and sys.extended_properties.minor_id = syscolumns.colid
  15. where sysobjects.name = 'TableName'

判断表是否存在:

  1. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[TableName]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
  2. select 'true'
  3. else
  4. select 'false'
  1. <p><strong>根据表外键名称获得主键表名称</strong></p>
  1. SELECT
  2. 外键表ID = b.fkeyid ,
  3. 外键表名称 = object_name (b.fkeyid) ,
  4. 外键列ID = b.fkey ,
  5. 外键列名 = ( SELECT name FROM syscolumns WHERE colid = b.fkey AND id = b.fkeyid) ,
  6. 主键表ID = b.rkeyid ,
  7. 主键表名= object_name (b.rkeyid) ,
  8. 主键列ID = b.rkey ,
  9. 主键列名 = ( SELECT name FROM syscolumns WHERE colid = b.rkey AND id = b.rkeyid) ,
  10. 级联更新 = ObjectProperty (a.id, ' CnstIsUpdateCascade ' ) ,
  11. 级联删除 = ObjectProperty (a.id, ' CnstIsDeleteCascade ' )
  12. FROM sysobjects a
  13. join sysforeignkeys b on a.id = b.constid
  14. join sysobjects c on a.parent_obj = c.id
  15. where a.xtype = 'f' AND c.xtype = 'U' and a.name = 'News'
  16.  
  17. select
  18. object_name (b.fkeyid),
  19. 外键列名 = ( SELECT name FROM syscolumns WHERE colid = b.fkey AND id = b.fkeyid)
  20. from sysobjects as a join sysforeignkeys as b on a.id=b.constid
  21. where a.xtype='F'

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

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

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

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

删除指定表中的所有索引

  1. /*
  2. 删除指定表的所有索引,包括主键索引,唯一索引和普通索引
  3.  
  4. 调用:
  5. declare @tbName varchar(20)
  6. set @tbName='CP_PATHINFO'
  7. exec sp_dropindex @tbName
  8.  
  9. vivianfdlpw 2005.9 引用情保留此信息
  10. */
  11. if exists(select 1 from sysobjects where id=object_id('sp_dropindex') and xtype='P')
  12. drop procedure sp_dropindex
  13. go
  14. create procedure sp_dropindex
  15. @tbName varchar(20)=null --索引名
  16. as
  17.  
  18. if @tbName is null
  19. begin
  20. raiserror('必须提供@tbName参数',12,1)
  21. return
  22. end
  23.  
  24. create table #
  25. (
  26. id int identity,
  27. index_name varchar(50),
  28. index_description varchar(1000),
  29. index_keys varchar(100)
  30. )
  31. insert #(index_name,index_description,index_keys)
  32. exec sp_helpindex @tbName
  33.  
  34. declare @i int,@sql varchar(100)
  35. set @i=1
  36.  
  37. while @i<=(select max(id) from #)
  38. begin
  39. if exists(select 1
  40. from sysobjects A
  41. join # B on A.name=B.index_name
  42. where B.id=@i and A.xtype in ('PK','UQ'))
  43. begin
  44. select @sql='alter table '+@tbName+' drop constraint '
  45. +(select index_name from # where id=@i)
  46. exec(@sql)
  47. end
  48. else
  49. begin
  50. select @sql='drop index '+@tbName+'.'
  51. +(select index_name from # where id=@i)
  52. exec(@sql)
  53. end
  54.  
  55. set @i=@i+1
  56. end
  57.  
  58. drop table #
  59.  
  60. go
  61.  
  62. create index IX_SACAG on CP_PATHINFO
  63. (
  64. REMIND_TODAY
  65. )
  66.  
  67. declare @tbName varchar(20)
  68. set @tbName='CP_PATHINFO'
  69. 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. html5 canvas画进度条

    这个ie8的兼容是个问题,ie8 的innerHTML有问题啊,添加两个附件吧 <!DOCTYPE html> <html> <head> <meta cha ...

  2. for循环删除list元素陷阱

    首先我们先看一段代码,如下: List<String> list=new ArrayList<String>(); list.add("123"); lis ...

  3. android手电筒开发

    最近学习android开发,记录学习过程,分享一写小案例 一. 如下先设置好布局文件 <TextView android:id="@+id/textView1" androi ...

  4. 兼容IE的渐变

    filter: progid:DXImageTransform.Microsoft.gradient(GradientType=, startColorstr=#1471da, endColorstr ...

  5. table-cell的手机应用场景

    前言 最近在前端观察看见了这篇老文章,看见了元素居中的5种办法,其中提到了display:table-cell这个css显示的新属性,按照当时的浏览器市场来说想必兼容性会是糟糕的一比,但是现在这坛老酒 ...

  6. Flask Jinjia2 与 react

    Jinjia2 这是flask使用的模板工具,利用render_template方法可以方便的将后端的数据传给前端. 但是如果要使用react呢. 我如果在jsx中直接使用{{}}是不能输出变量的. ...

  7. Swift—属性观察者-备

    为了监听属性的变化,Swift提供了属性观察者.属性观察者能够监听存储属性的变化,即便变化前后的值相同,它们也能监听到. 属性观察者主要有以下两个: willSet:观察者在修改之前调用. didSe ...

  8. js限制input只能输入有效的数字,有且只有一个小数点,第一个不能为小数点-备

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. 官方recovery签名验证的破解教程

    下面讲如何破解官方recovery签名验证(这个方法应该是通用的,其他手机可以参考,recovery签名验证破解了,也不用费力编译第三方recovery) 1.从官方ROM里提取recovery.im ...

  10. Detecting an Ajax request in PHP

    1:index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...