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

来源:百度知道 编辑:UC知道 时间:2024/05/08 19:21:02
数据库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你

事务的结局只能是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行就说明没更新,事务回滚。否则就提交。