首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在SqlServer中的更新命令之前设置更新过程中的变量?

如何在SqlServer中的更新命令之前设置更新过程中的变量?
EN

Stack Overflow用户
提问于 2014-07-06 02:34:59
回答 2查看 262关注 0票数 1

我正在创建一个计算固定资产递减折旧的过程。为此,我需要在过程中根据大小写设置一个值,而大小写又基于我在Update命令中使用的表中的值。在更新表之前,我需要知道如何设置该变量。问题看起来像这样:

代码语言:javascript
运行
复制
Create procedure Depreciation
as begin
declare @k numeric (10,2) 
set @k=case 
when Value From a table inside the FROM(UPDATE)>1 then 2
else 3
end
update Deprectiation Table set (Deprectiation=@k*Value)
From Tables
where conditions 

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2014-07-06 02:52:07

这是一个错误的syntax.You可以做类似下面的事情(尽管你发布的代码一点也不清楚,也不确定你想要实现什么)

代码语言:javascript
运行
复制
Create procedure Depreciation
as 
begin
declare @k numeric (10,2); 
declare @value numeric (10,2); 
select @value = [Value], @k = case when [Value] > 1 then 2 else 3 end 
From table1 ;

update Deprectiation set Deprectiation=@k*@value where conditions;
end
票数 0
EN

Stack Overflow用户

发布于 2014-07-06 12:09:01

试试这个:

代码语言:javascript
运行
复制
Create Procedure Description
AS Begin
    Update DeprectiationTable 
    SET Deprectiation=CASE WHEN Value>1 THEN 2 ELSE 3 END * Value
    From Tables
    Where conditions 
End
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24589410

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档