我有两个查询。
下面的PL / SQL无法正常工作。我想将输出存储到变量test1和test2中。这是说ORA-00923:找不到FROM关键字。不确定出什么问题
DECLARE 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 <= 1; END;
在PL / SQL中,如果我不使用select语句而没有into子句,则它不起作用。这是我需要使用into子句的规则。以下一项不起作用。如果我想假脱机PL / SQL程序的输出,是否需要将列的输出存储到变量中并执行dbms_output?
DECLARE 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;
在PL / SQL查询中只需要一个INTO子句,例如:
SELECT table_name, CASE owner WHEN bla bla ... END INTO test1, test2 FROM all_tables;