我有两个查询。 1 O3 r$ |# x* G+ I- J查询1。下面的PL / SQL不能正常工作。我想将输出存储到变量中test1和test2中。这是说ORA-00923:找不到FROM关键字。不确定出了什么问题。 & C% P" z- k6 u' lDECLARE file_id NUMBER(10) NOT NULL :=5; test1 varchar(100); test2 varchar(100);BEGIN DBMS_OUTPUT.PUT_LINE('File Id: ' || file_id); SELECT table_name INTO test1. (CASE owner WHEN 'SYS' THEN 'The owner is SYS' WHEN 'SYSTEM' THEN 'The owner is SYSTEM END) INTO test2 FROM all_tables WHERE rownum 查询2。在PL / SQL如果我不用select语句而没有into子句,则它不起作用。这是我需要使用into子句的规则。以下项目不起作用。假如我想假脱机PL3 L' q6 K6 o. H& V/ Z* ^+ P
/ SQL程序输出是否需要将列输出存储在变量中并执行dbms_output? ( c# Q9 d! \ W+ y0 nDECLARE file_id NUMBER(10) NOT NULL :=5; test1 varchar(100); test2 varchar(100);BEGIN DBMS_OUTPUT.PUT_LINE('File Id: ' || file_id); SELECT table_name, CASE owner WHEN 'SYS' THEN 'The owner is SYS WHEN 'SYSTEM' THEN 'The owner is SYSTEM' END FROM all_tables;END; , x. F& U2 `9 F$ J! ]& }解决方案: - ?- A% e5 M& e4 B" Y* r: ?
在PL / SQL只需要一个查询INTO例如: + i1 ~; O7 t) B e9 M: `, z" ^SELECT table_name,CASE owner WHEN bla bla ... ENDINTO test1,test2FROM all_tables;