我有一個名爲TABLE1
的常規表,其列NUMBER(8)
和列varchar2(100)
。在Oracle PL/SQL中可以這樣做嗎?
現在我創建了一個OBJECT TYPE
T_MYTYPE
具有兩個屬性:一個NUMBER
和另一個varchar2
。
簡而言之,它們是完全一樣的。
現在我想要做以下事情。
v_obj T_MYTYPE;
begin
select * into v_obj from TABLE1 t1 where t1.num = 9;--guaranteed to return only ONE row!!
end;
但PL/SQL:ORA-00947:沒有足夠的值 ..
這是很令人沮喪......我只是想能夠回到ONE行數據的成採集!!無論是記錄還是對象類型!!我不在乎......我似乎無法完成這項工作.. !!!!誰能幫忙?
我剛剛讀了一本關於PLSQL的完整書,我沒有看到這個......也許我錯過了它......太糟糕了我只能在星期一重新開始工作時才能測試它... – 2012-02-24 21:49:20
想想吧..這是相反的直覺是不是? – 2012-02-24 21:57:30
@FelipeAlmeida - 如果您只想將表中的所有列選擇到記錄中,而不是選擇列的子集或執行任何需要對象類型的任何操作,則ruakh建議聲明「%ROWTYPE」集合將是可取的。 – 2012-02-24 22:38:34