事务处理语句的基础问题,求解!
DECLARE @TranName VARCHAR(20)
SELECT @TranName = 'MyTransaction' //????
BEGIN TRANSACTION @TranNameGOUSE pubs //????
GO
UPDATE roysched
SET royalty = royalty * 1.10
WHERE title_id LIKE 'Pc%'
GO
COMMIT TRANSACTION MyTransaction //????
GO
上面带//????的那句全是不明白的,我也没书看,请高手们帮忙了,谢谢了
问题点数:27、回复次数:3Top
1 楼CrazyFor(冬眠的鼹鼠)回复于 2002-11-27 09:47:33 得分 27
1,赋值
2,打开事务
3,正常结束事务
把你当中的两个GO去掉,要不然执行有问题。Top
2 楼brat365(我就是五亿探长--雷洛)回复于 2002-11-27 09:52:02 得分 0
明白了,谢谢Top
3 楼Drate(小虫(好好学习,天天向上))回复于 2002-11-27 09:54:47 得分 0
1、将变量 @TranName的值设置为'MyTransaction'
2、开始一个名为'MyTransaction'的事务,这个事务的数据库为pubs
3、程序正常结束,结束这事务MyTransaction,并将前面所做的操作提交(保存)到数据库中
还有就是楼上说的,把你的中间两个GO语句去掉,不然就会出错!
下面是一个帮助中的例子:
BEGIN TRAN T1
UPDATE table1 ...
BEGIN TRAN M2 WITH MARK
UPDATE table2 ...
SELECT * from table1
COMMIT TRAN M2
UPDATE table3 ...
COMMIT TRAN T1
Top




