我想查詢轉換就像下面類型,這樣我就不必使用GTT:混亂有關。在Oracle中的GTT的類型,而不是
insert into my_gtt_table_1
(house, lname, fname, MI, fullname, dob)
(select house, lname, fname, MI, fullname, dob
from (select 'REG' house, mbr_last_name lname, mbr_first_name fname, mbr_mi MI,
mbr_first_name || mbr_mi || mbr_last_name fullname, mbr_dob dob from
table_1 a, table_b
where a.head = b.head and mbr_number = '01' and mbr_last_name = v_last_name) c
上面只是一個樣本,但複雜的查詢是更大比這個。
上面是一個存儲過程。所以要避免gtt(my_gtt_table_1)。我做了以下內容:
create or replace type lname_row as object
(
house varchar2(30)
lname varchar2(30),
fname varchar2(30),
MI char(1),
fullname VARCHAR2(63),
dob DATE
)
create or replace type lname_exact as table of lname_row
現在在SP:
type lname_exact is table of <what_table_should_i_put_here>%rowtype;
tab_a_recs lname_exact;
在上面,我不知道該怎麼把表作爲我的查詢嵌套子查詢。
在SP查詢:(我想這個樣品的目的,看看它的工作原理)
select lname_row('',
'',
'',
'',
'',
'',
sysdate) bulk collect
into tab_a_recs
from table_1;
我得到這樣的錯誤:ORA-00913:值過多
我真的迷茫和堅持這一:(
你爲什麼要刪除這些GTT? – 2010-06-15 06:35:42