相关疑难解决方法(0)

SQL 2005/8古怪更新"黑色艺术"

大家好,所有SQL Server Blackbelt大师都在那里.

我有一个我需要解决的简单问题.我想在桌子上做一些奇怪的更新.表的具体结构并不重要,我的问题基本上可以简化为以下一个:

update SalesTotal
set @total = total = @total + sales,
@flag = flag = case when @flag = 1 then 0 
                    when @total > x then 1
                    else 0 end
Run Code Online (Sandbox Code Playgroud)

问题是我可以相信@total变量会有一个新值,即.将在第二个设置部分之前执行,或者它是否包含"旧"值(来自先前的赋值),或者它是未定义的.我现在一直在追求这个问题,并且找不到解决方案,这对我的更新非常重要(我想一次更新一个表).我想要更新的值之一取决于另一个值(在同一行中),因此它在单个更新中工作的唯一方法是它是否有效.

希望你能帮我

sql t-sql sql-server sql-update

2
推荐指数
1
解决办法
1752
查看次数

MS-SQL查询 - 通过存储过程检索的更新记录

*更新*

范围现在略有发展,我现在需要检索字段'Id,uri,linkTo'.这怎么改变了???

我正在使用MS-SQL 2005 db并具有以下存储过程;

CREATE PROCEDURE dbo.getNewAds
(
@region
)
AS
BEGIN
SELECT TOP 1 Id, uri, linkTo FROM Adverts
ORDER BY NEWID()
WHERE adRegion = @region
END
Run Code Online (Sandbox Code Playgroud)

我想在同一个表中为名为adShown的列添加"1",以获取检索到的单个结果.在同一程序中执行此操作的最简单/最快的方法是什么?

提前感谢您提供的任何帮助.

t-sql sql-server sql-server-2005

1
推荐指数
1
解决办法
1957
查看次数

标签 统计

sql-server ×2

t-sql ×2

sql ×1

sql-server-2005 ×1

sql-update ×1