| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1646 人关注过本帖
标题:如果表不存在某列,则新加列,设置默认值为另两列的差
取消只看楼主 加入收藏
WhoKnows
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2015-9-11
收藏
 问题点数:0 回复次数:1 
如果表不存在某列,则新加列,设置默认值为另两列的差
各位大神,我想给一张表新加一个列。

如果该列不存在,则创建列,并且更新该列的值为另两列的差,下面是我写的,但是当我更新时,提醒我该列不存在,因为在IF里,又不能用GO,该怎么处理呢?

IF(NOT EXISTS (SELECT * FROM sys.columns WHERE NAME = 'NEW_COLUMN_NAME' AND OBJECT_ID('EXISTED_TABLE_NAME') = object_id))
BEGIN
ALTER TABLE EXISTED_TABLE_NAME
ADD NEW_COLUMN_NAME money
CONSTRAINT ONE_CONSTRAINT default 0.00 with values

UPDATE EXISTED_TABLE_NAME SET NEW_COLUMN_NAME=EXISTED_TABLE_NAME.COLUMN1-EXISTED_TABLE_NAME.COLUMN2
END

GO

跪求大神解答...感激不尽。。
小弟新来乍到,也没有分数赠送...
2015-09-11 17:57
WhoKnows
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2015-9-11
收藏
得分:0 
回复 2楼 kinvanhon
不是,它提示的是 找不到有这个column,我想应该是说 我新建column还没有应用到数据库的表上去,所以找不到,必须要先执行IF中的第一句话,才能执行第二句话
2015-09-14 09:12
快速回复:如果表不存在某列,则新加列,设置默认值为另两列的差
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017736 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved