簡體   English   中英

插入語句中的選擇語句

[英]select statement inside a insert statement

我嘗試了以下SQL查詢

INSERT INTO test.ACT_QUERY values(2139,2,'SELECT ''D'',ORDER_ID from dual');

當Java程序從test.ACT_QUERY表運行此select語句並假脫機到輸出文件時,它給出“ D” 123。我只想要D,123。 不確定為什么要報價。 我需要在select語句中替換的內容才能獲得D,123的輸出

很難形象化您的問題。 原則上,您所做的當然沒錯,它可以在PL / SQL中使用。

這是您的測試數據,經過稍微調整后可以在我的數據庫中運行:

SQL> INSERT INTO ACT_QUERY values(2139,2,'SELECT ''D'', DUMMY from dual');

1 row created.

SQL> select * from act_query
  2  /

        ID       BLAH
---------- ----------
QRY_TXT
--------------------------------------------------------------------------------
      2139          2
SELECT 'D', DUMMY from dual


SQL>

來吧!

SQL> begin
  2      for r in (select * from
  3
  4  .
SQL> declare
  2      v1 char(1);
  3      v2 char(1);
  4  begin
  5      for r in (select * from act_query)
  6      loop
  7          execute immediate r.qry_txt into v1, v2;
  8          dbms_output.put_line(r.qry_txt);
  9          dbms_output.put_line('v1='||v1||'::v2='||v2);
 10      end loop;
 11  end;
 12  /
SELECT 'D'as D, DUMMY from dual
v1=D::v2=X

PL/SQL procedure successfully completed.

SQL>

因此,您需要使用實際輸出的詳細信息來更詳細地說明您的情況。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM