如何使用计算更新列



我在sql中遇到了这个问题。就像我想在更新之前先进行计算一样。例如,我有公式要先声明,就像这个 m = y/x 然后是另一个公式来更新另一列。我将为C++制作示例代码,但我希望它在 SQL 中。

int m, x, y, xn;
main()
{
m = y/x;
xn = (4.5*m/(POWER((1+m*m),0.5)))+y;
}

谢谢你的回答。

通常,变量的 SQL 等效项是子查询中的列:

with sometable (x, y) as (select 3, 15 from dual)
--
select x, y, m
from   ( select x, y, y/x as m
from   sometable );
X          Y          M
---------- ---------- ----------
3         15          5

(我使用了内联视图,但它也可以表示为WITH子句。

在Oracle 12c中,您还可以内联声明PL/SQL函数并编写任何您喜欢的计算。

试试这个:

declare @M int; 
declare @x int, @y int, @xn int;
SET @M= @y/@x;
SET @xn = (4.5*@m/(POWER((1+@m*@m),0.5)))+@y;
SELECT @xn AS Result1; 

最新更新