SQL 语句来实现部分内容替换

数据库SQLSERVER2000假设,我现在用一个News表,里面的content字段,为text类型,这个表里面有很多数据,而content里面包含很多相同的关键字比如... 数据库SQLSERVER2000
假设,我现在用一个News表,里面的content字段,为text类型,
这个表里面有很多数据,而content里面包含很多相同的关键字

比如说这是某条记录的content:“我们都知道A产品受到广大消费者的青睐” 现在我想把其中“A产品” 换成“B产品”

不用编程,只用SQL怎么做?
另外,SQLSERVER2000做,如果我执行了一条错误的UPDATE语句,怎么回滚呢?
具体给个例子呗,什么时候COMMIT,什么时候ROLLBACK,我
COMMIT之后再ROLLBACK,怎么不行呢?

begin TRANSACTION
update NEWS set CONTENT=replace(cast(CONTENT as varchar(8000)),'产品1','产品2')
commit

还有楼下的,什么叫对牛弹琴,我学JAVA的,干嘛非要精通SQL,如果你是DBA,那么我和你说SSH框架,你懂吗,BS你
展开
 我来答
jyh_jack
2008-02-25 · TA获得超过4195个赞
知道大有可为答主
回答量:2080
采纳率:100%
帮助的人:2829万
展开全部
事务的结局只能是commit或是roolback
即外先commit后,就不可以rollback了。

例子如下:

BEGIN TRAN T1
update authors set author='Jack' where id=1
insert into authors values(2,'Allan')

IF @@ROWCOUNT = 0
begin
ROLLBACK TRAN T1
end
else
begin
COMMIT TRAN T1
end
GO

-----------
IF @@ROWCOUNT = 0 是判断之前的insert影响了多少行,如果是0行就说明没更新,事务回滚。否则就提交。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式