解决一个事务的问题,能把这2句sql合并成一句吗?
SELECT Right(Replicate(N '0 ',10)+Cast(StartValue AS nvarchar),10) as StartValue FROM CommonStart WHERE Upper(TableName)=Upper( 'CorpDept_Prodh ') AND Upper(IsNull(ColName, ' ' ' ')) = Upper(IsNull( '2 ', ' ' ' ')) AND Upper(OtherKey) = Upper( ' ') and startdate = '2007-03-06 '
UPDATE CommonStart SET StartValue = StartValue + 1 WHERE Upper(TableName) = Upper( 'CorpDept_Prodh ') AND Upper(IsNull(ColName, ' ' ' ')) = Upper(IsNull( '2 ', ' ' ' ')) AND Upper(OtherKey) = Upper( ' ') and startdate = '2007-03-06 '
------解决方案--------------------第一条语句用来显示信息;第二条更新列值
不能放在一条语句中来做
如果只是想看到StartValue+1后的效果,而不需要更新的话,可以实现
------解决方案--------------------两个SQL所实现的功能无法合并。
------解决方案--------------------不能一次完成
------解决方案--------------------select跟update怎么能放在一起?
------解决方案--------------------一般Select查询只可以同时对变量进行赋值。不能Select和Update同时进行。
------解决方案--------------------放在begin ...end中可以,只是更新结果要再查询一次才能显示.