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你 展开
假设,我现在用一个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你 展开
1个回答
展开全部
事务的结局只能是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行就说明没更新,事务回滚。否则就提交。
即外先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行就说明没更新,事务回滚。否则就提交。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询