回答

收藏

条件时的PLSQL情况

技术问答 技术问答 454 人阅读 | 0 人回复 | 2023-09-12

我有两个查询。
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;
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则