我创建了一个大块脚本,它在最后将新行插入到我的目标表中。
脚本包含许多select语句和临时表。
我想循环它连续运行2000次,除了推动f5 2000次之外别无他法。
是否有Oracle SQL等效的代码将代码封装到SAS宏中并循环2000次?
答案 0 :(得分:2)
PL / SQL匿名阻止在这种情况下最好:
BEGIN
FOR i IN 1..2000 LOOP
-- Insert scripts go here
END LOOP
END;
/
答案 1 :(得分:0)
您可以尝试将insert语句转换为纯SQL吗?这是加载大量数据的最快,最干净的方法。
设置完成后,可以通过生成结果集的笛卡尔来生成row_source。
例如:首先说你的表有以下
EmpNo, EmpName, Sal
1000 , Mark , 500
1001 , Jorja , 100
我想生成表格内容3次然后我会做以下
insert into emp
select (select max(empno)
from emp
)+lvl as empNo
, empName
, Sal
from emp
join (select level as lvl
from dual
connect by level<=3
)row_source_generation
on 1=1;
这将提供以下输出
EmpNo, EmpName, Sal
1000 , Mark , 500
1001 , Jorja , 100
1002 , Mark1 , 500
1003 , Jorja1 , 100
1004 , Mark2 , 500
1005 , Jorja2 , 100
1006 , Mark3 , 500
1007 , Jorja3 , 100