2013-12-13 88 views
3

該塊正在使用什麼錯誤?請幫忙解決這個問題。 只根據where子句選擇一行。Oracle對類型名稱或子類型名稱的使用無效

表clazzes

Name Type   Nullable Default Comments 
---- ------------- -------- ------- -------- 
ID NUMBER(10)        
NAME VARCHAR2(100) Y   

PL/SQL塊:

declare 
type clazzes_row_type is record 
(clazz_rownum number, 
clazz_id clazzes.id%type, 
clazz_name clazzes.name%type); 
begin 
clazzes_row_type.clazz_rownum :=111; 
select id,name into clazzes_row_type.clazz_id,clazzes_row_type.clazz_name 
from clazzes where name ='leo1'; 
dbms_output.put_line(clazzes_row_type.clazz_id); 
dbms_output.put_line(clazzes_row_type.clazz_rownum); 
dbms_output.put_line(clazzes_row_type.clazz_name); 
end; 

例外:

ORA-06550: line 8, column 1: 
PLS-00330: invalid use of type name or subtype name 
ORA-06550: line 8, column 1: 
PL/SQL: Statement ignored 
ORA-06550: line 9, column 21: 
PLS-00330: invalid use of type name or subtype name 
ORA-06550: line 9, column 75: 
PL/SQL: ORA-00904: : invalid identifier 
ORA-06550: line 9, column 1: 
PL/SQL: SQL Statement ignored 
ORA-06550: line 11, column 22: 
PLS-00330: invalid use of type name or subtype name 
ORA-06550: line 11, column 1: 
PL/SQL: Statement ignored 
ORA-06550: line 12, column 22: 
PLS-00330: invalid use of type name or subtype name 
ORA-06550: line 12, column 1: 
PL/SQL: Statement ignored 
ORA-06550: line 13, column 22: 
PLS-00330: invalid use of type name or subtype name 
ORA-06550: line 13, column 1: 
PL/SQL: Statement ignored 

回答

8

應聲明具有指定類型的變量。並用的構造器的變量:

​​

或與您的選擇:

begin 
    select 111,id,name into myvariable from clazzes where name ='leo1'; 
+0

謝謝你這是有用的,半生不熟的閱讀使我做到這一點。 – sunleo

相關問題