我在T-SQL中创建了一条SQL语句来更新带有循环的表。现在,我需要使用Oracle,因此需要翻译查询。 问题是尽管进行搜索,但我仍然不知道它是如何工作的。
这是我在T-SQL中的立场:
DECLARE @cnt INT = -10;
WHILE @cnt < 1
BEGIN
INSERT INTO TableA
SELECT B_DATE, B1, isnull((
select A2 from TableA A
where A.A1 = B.B1 and A.A_DATE = DATEADD(DAY,-1,B.B_DATE)),0) + 1 B2
from TableB B
where A_DATE = DATEADD(day,@cnt,cast(CURRENT_TIMESTAMP as date))
SET @cnt = @cnt+1;
END;
上面的代码可以做到
每10天,TableA就被喂食TableB
如果他们有一天的差异,那么B2变成A2 + 1,否则B2是1
我只想对Oracle做同样的事情 我尝试使用LOOP语句,但是很显然,我们无法在循环语句中进行SQL查询吗?