我有要求从Excel表生成插入脚本文件。我部分成功地生成脚本文件。但是我遇到了一个情况,我需要任何帮助。从excel表生成Oracle PL/SQL脚本
我的逻辑是这样的一些东西,读第一个单元格,检查是否在单元格中值DB.If已经存在不是,生成插入脚本如下
declare
PK1 integer;
begin
select tablename_seq.currval into PK1 from dual;
insert into TableName valuestablename_seq_seq.nextval,'Blagh',1);
end;
林存储PK1在哈希表与数据具有KEY。因此,如果相同的数据出现在下一行中,使用Hashtable搜索,我将获取相应数据键的哈希表值,并将其参数传递给另一个插入脚本。但每次我生成新的变量,如PK1,Pk2等等。我在Declare之后保留了'BEGIN'关键字,并且在每次插入之后还添加了'END'关键字,如果我这样做的话,变量的作用域就会退出范围。我可能会在另一个插入语句中使用那些声明的变量有一个参数。是否有保存PK1,Pk2 .....有会话/全局变量的脚本执行的机会。所以他们将成为整个脚本执行时间的可用者。
每个小区将产生插入脚本成对应table.I使用上面TECHNIC,问题是,如果我需要使用PK1可变一些其中在Cell(10,10)的插入脚本,因为我们在Begin块之后立即结束'end',所以PK1的范围总是保留在Begin block.Scope PK1 LOst中。为此,我创建了一个Insert,然后创建另一个Begin与另一个Insert等等和@结束即时增加结束;结束;但上述方法的问题是,我试图插入400个单元插入脚本。在此流程中,当我尝试运行脚本时,它会引发运行时错误'堆栈溢出' – user145610 2010-07-14 06:21:48