Ms SQL中 根据表名查询字段信息,根据表名和字段判断该字段是否存在
2010-06-03 10:31
501 查看
在ms sql中当我们需要修改表结构的时候,有时候因为添加或修改的表字段存在或不存在而导致后面的sql脚本执行失败。 这时我们需要一个语句来判断当前字段的有效性。然后再执行我们的sql脚本,这样就可以避免了。 --根据表名查询当前表的字段及其对应的表 select b.name tableName, a.name fieldName from syscolumns a join sysobjects b on a.id = b.id where b.xtype = 'u' and b.name = 'mm_sample'; go /* xtype 的表示参数类型,通常包括如下这些 C = CHECK 约束 D = 默认值或 DEFAULT 约束 F = FOREIGN KEY 约束 L = 日志 FN = 标量函数 IF = 内嵌表函数 P = 存储过程 PK = PRIMARY KEY 约束(类型是 K) RF = 复制筛选存储过程 S = 系统表 TF = 表函数 TR = 触发器 U = 用户表 UQ = UNIQUE 约束(类型是 K) V = 视图 X = 扩展存储过程 */ --根据表名查询字段信息 select name from syscolumns where id in ( select id from sysobjects where name = 'mm_sample' ) go select table_Name, column_Name from information_schema.columns where table_name = 'mm_sample' go select name, length from syscolumns where id = object_id( 'mm_sample ') and colid in ( select colid from sysindexkeys where id = object_id( 'mm_sample ') ) go --select object_id('mm_sample') --select * from sysobjects where id = object_id('mm_sample') select name, * from syscolumns where id = object_id('mm_sample') go --查看表信息 sp_help 'mm_sample' go if (exists (select name from syscolumns where id = object_id('mm_sample') and name = 'wt_id')) print '该字段已经存在!'; else print '该字段不存在'; go
相关文章推荐
- 常用数据库查询判断表和字段是否存在的SQL
- sqlite查看所有表名、判断表是否存在,字段名及字段信息
- oracle 建表、最大ID、判断表是否已存在、字段的查询以及增删改、插入与修改语句
- sqlite查看所有表名、判断表是否存在,字段名及字段信息
- 页面Sql语句 查询根据判断值是否存在拼接查询条件
- sql 查询所有数据库、表名、表字段总结,判断表/视图/存储过程是否存在
- mysql 查询字符串判断某个字符串是否存在某个字段中
- 常用数据库查询之一(判断表和字段是否存在)
- Sql 查询当天、本周、本月记录和日期操作、判断表和字段是否存在
- Medoo Has的使用:判断根据查询条件得出的值是否存在
- 常用数据库查询判断表和字段是否存在
- 同表两个字段二选一查询mysql中如何判断某一个字段是否存在某一个值
- 常用数据库查询判断表和字段是否存在
- Android 判断SD卡是否存在及容量查询
- sqlite查看所有表名及字段名,及判断是否存在的方法
- Sql Server 添加删除字段判断表或字段是否存在得到字段描述
- oracle 根据表名查询字段的详细信息 字段类型 注释
- 判断Access数据库中的表或查询是否存在的SQL
- mysql、oracle、sqlserver根据对应的表查询表中的所有字段名称、类型、别名、长度等信息
- JS中判断JSON数据是否存在某字段的方法