syscolumns、sysconstraints、sysobjects
1、根据表名查询对象ID
SELECT OBJECT_ID('Production.Product')
结果:1429580131
不能作为输入参数:列名、约束名
能作为输入参数:表名
2、根据对象ID查询表名
SELECT OBJECT_NAME(1429580131)
结果:Product
一、syscolumns
1.根据表名查询表的所有列的名称
SELECT name
FROM syscolumns
WHERE id = OBJECT_ID('Production.Product')
syscolumns 为每个表和视图中的每列返回一行,并为数据库中的存储过程的每个参数返回一行。
syscolumns.id 列所属的表的对象ID、int型
syscolumns.name 列的名称、sysname型
2.根据表名、列名,查询列ID
SELECT colid
FROM syscolumns
WHERE id = OBJECT_ID('Production.Product')
AND name = 'ProductNumber'
syscolumns.colid 列ID (列从1开始编号)、smallint型
syscolumns.name (似乎可以用字符串作为输入)
二、sysconstraints
包含的主要列:约束ID(constid),约束所属表的对象ID(id),约束所在列的列ID(colid)
三、sysobjects
1、根据表名和列名查询列上的约束
SELECT sysobjects.name ,sysobjects.xtype,
sysobjects.id
FROM sysobjects
JOIN sysconstraints ON sysobjects.id = sysconstraints.constid
WHERE sysobjects.parent_obj = OBJECT_ID('Production.Product')
AND sysconstraints.colid IN (
SELECT colid
FROM syscolumns
WHERE id = OBJECT_ID('Production.Product')
AND name = 'Weight' )
sysobjects.parent_obj 父对象的对象标识号。 例如,表ID(如果它是触发器或约束,父对象就是表ID)。
sysobjects.xtype:
C = check约束
D = 默认值或DEFAULT约束
F = FOREIGN KEY约束
P = 存储过程
PK = PRIMARY KEY
UQ = UNIQUE
四、后续版本的 Microsoft SQL Server 将删除这些功能。使用最新的 SQL Server 系统视图来代替。
syscolumns、sysconstraints、sysobjects的更多相关文章
- SQL Server中 sysobjects、sysolumns、systypes
1.sysobjects 系统对象表. 保存当前数据库的对象,如约束.默认值.日志.规则.存储过程等 在大多数情况下,对你最有用的两个列是Sysobjects.name和Sysobjects.x ...
- SQL2000系统表、存储过程、函数的功能介绍及应用
转自:http://blog.csdn.net/zlp321002/article/details/480925 ----系统表------------------------------------ ...
- 刷新SQL Server所有视图、函数、存储过程
刷新SQL Server所有视图.函数.存储过程 更多 sql 此脚本用于在删除或添加字段时刷新相关视图,并检查视图.函数.存储过程有效性. [SQL]代码 --视图.存储过程.函数名称 DE ...
- 刷新SQL Server所有视图、函数、存储过程 更多 sql 此脚本用于在删除或添加字段时刷新相关视图,并检查视图、函数、存储过程有效性。 [SQL]代码 --视图、存储过程、函数名称 DECLARE @NAME NVARCHAR(255); --局部游标 DECLARE @CUR CURSOR --自动修改未上状态为旷课 SET @CUR=CURSOR SCROLL DYNAMIC FO
刷新SQL Server所有视图.函数.存储过程 更多 sql 此脚本用于在删除或添加字段时刷新相关视图,并检查视图.函数.存储过程有效性. [SQL]代码 --视图.存储过程.函数名称 DE ...
- SQL 查询所有表名、字段名、类型、长度、存储过程、视图
-- 获得存储过程创建语句 select o.xtype,o.name,cm.text from syscomments cm inner join sysobjects o on o.id=cm.i ...
- sqlserver查询所有表名、字段名、类型、长度和存储过程、视图的创建语句
-- 获得存储过程创建语句 select o.xtype,o.name,cm.text from syscomments cm inner join sysobjects o on o.id=cm.i ...
- Sqlserver查询表结构信息-字段说明、类型、长度等信息
Sqlserver 中查询表结构信息-字段说明.类型.长度等信息综合语法. SELECT 表名 = d.name,--case when a.colorder=1 then d.name else ' ...
- 获取sqlserver数据库中所有库、表、字段名的方法
获取sqlserver数据库中所有库.表.字段名的方法 2009年03月12日 星期四 下午 12:51 1.获取所有数据库名: SELECT Name FROM Master..SysDatabas ...
- asp.net、mvc、ajax、js、jquery、sql、EF、linq、netadvantage第三方控件知识点笔记
很简单,如下: 父页面:(弹出提示框) function newwindow(obj) { var rtn = window.showModalDialog('NewPage.htm','','sta ...
随机推荐
- AC题目简解-数论
反素数: HDU2521定义对于任何正整数x,其约数的个数记做g(x).例如g(1)=1,g(6)=4.如果某个正整数x满足:对于任意i(0<i<x),都有g(i)<g(x),则称x ...
- Java泛型中的extends和super关键字
理解List<? extends T> list, T key, Comparator<? super T> c 这些一般用在方法形参类型上,用于接受泛型对象. 1.List& ...
- javascript 字符转义汇总
在开发中经常遇到需要字符转义的,我将一一把遇到的转义列举出来 1.今天中午做项目的时候遇到一个字符串链接的问题,需要链接的的是一个函数的参数 时间字符串:"2014-04-08 16:37: ...
- oracle tns in linux
[oracle@redhat4 admin]$ cd $ORACLE_HOME/network/admin[oracle@redhat4 admin]$ cat tnsnames.ora# tnsna ...
- BZOJ 1000: A+B Problem
问题:A + B问题 描述:http://acm.wust.edu.cn/problem.php?id=1000&soj=0 代码示例: import java.util.Scanner; p ...
- Android_PendingIntent的使用
PendingIntent介绍 PendingIntent可以看作是对Intent的一个封装,但它不是立刻执行某个行为,而是满足某些条件或触发某些事件后才执行指定的行为. PendingInt ...
- android之AlarmManager 全局定时器
AlarmManager实质是一个全局的定时器,是Android中常用的一种系统级别的提示服务,在指定时间或周期性启动其它组件(包括Activity,Service,BroadcastReceiver ...
- IT经理,你在这个位置吗
事实上我离这个位置还远着,或者说它可能并不是我以后的方向,但是作为一个码农,这个发展路线还是需要了解的.主要的还是喜欢下面这个图,因为里面我的发展方向,有我的目标. 对 于一个IT从业者,让你谋得工作 ...
- android adt与android sdk有什么关系,他们在开发中各起到什么作用
ADT(Android Development Tools):目前Android开发所用的开发工具是Eclipse,在Eclipse编译IDE环境中,安装ADT,为Android开发提供开发工具的升级 ...
- ViewPager设置 缓存个数、页卡间距、数据更新
在使用ViewPager常用设置 1)mViewPager.setOffscreenPageLimit(2);//设置缓存view 的个数(实际有3个,缓存2个+正在显示的1个)2)mViewPage ...