如何用计算更新列
我在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函数内联并编写您喜欢的任何计算。
我想为我的表添加新的列,并在同一时间更新它。例如,假设我已经添加了另一列,我想通过2次计算的结果在该列中输入值(示例公式:首先,m = y/x然后YN =(4.5 * m /(POWER((1 + m * m),0.5)))+ y;)该YN的结果将是我想要在我添加的表中更新的值。我希望我明确自己。 Thankyou为 –
您可以更新内联视图,例如'更新(从t选择x,y,y/x作为m)set y = m;'当我得到一分钟时,我会将它添加到我的答案中。 –
试试这个:
declare @M int;
declare @x int, @y int, @xn int;
SET @M= @y/@x;
SET @xn = (4.5*@m/(POWER(([email protected]*@m),0.5)))[email protected];
SELECT @xn AS Result1;
你可以提供你想使用的SQL表吗? – Myonara
编辑你的问题,并提供样本数据和期望的结果。 –
@GordonLinoff 我想为我的表添加新列并在同一时间更新它。例如,假设我已经添加了另一列,我想通过2次计算的结果在该列中输入值(示例公式:首先,m = y/x然后YN =(4.5 * m /(POWER((1 + m * m),0.5)))+ y;)该YN的结果将是我想要在我添加的表中更新的值。我希望我明确自己。 Thankyou的回应:) –