比如:想知道表LBM_INFO中是否有字段REMOTE_TIMEOUT,如果没有,就在LBM_INFO表中创建该字段。sql
解决方案 »
- [mySQL]字符串是否有另一个字符串中的一部分
- 有没有sql多重循环的好方法?
- 在线等ODBC 连接SQL数据库的问题
- sql如何计算两个日期间的工作日,剔除节假日
- 添加外键约束不成功。我该如何做?如何查出是哪些不符合约束?
- 日期值查询问题.....!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 网上的mssql空间怎么恢复备份包?
- 这个触发器该怎么写?
- 在sql server中如何对所有用户表进行分类管理(像文件夹那样)?
- 运行xp_shell 'net stop 自动的服务'报错
- 求大侠解决SQL 交叉报表疑难问题
- 从表值函数更新虚拟表,需要从虚拟表传参数进去,一直报这个错,求教该怎么写才对?
--比如说要判断表A中的字段C是否存在两个方法:
--一,
IF EXISTS (
SELECT 1 FROM SYSOBJECTS T1
INNER JOIN SYSCOLUMNS T2 ON T1.ID=T2.ID
WHERE T1.NAME='A' AND T2.NAME='C'
)
PRINT '存在'
ELSE
PRINT '不存在'
--二, 短小精悍,可谓精典
IF COL_LENGTH('A', 'C') IS NOT NULL
PRINT N'存在'
ELSE
PRINT N'不存在'
<p></p>方法一:
select * from syscolumns where id=object_id('表名') and name='列名'
说明:存在则返回此列的一条说明记录,不存在返回空;
方法二:
select count(*) from sysobjects a,syscolumns b where a.id=b.id and b.name='flag1' and a.type='u' and a.name='T_Pro_ProductClass'
说明:存在返回1,不存在则返回0
if not exists (select * from syscolumns where id=object_id('表名') and name='列名')
alter table '表名' add '列名' '类型'
alter table LBM_INFO add REMOTE_TIMEOUT varchar(20) default 'values'
else
--该表有该字段
if not exists(select 1
from sys.columns a
inner join sys.tables b on a.object_id=b.object_id
where b.name='LBM_INFO' and a.name='REMOTE_TIMEOUT')
alter table LBM_INFO add REMOTE_TIMEOUT [数据类型]