我有要求從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