zoukankan      html  css  js  c++  java
  • PLSQL 拼接SQL

    create or replace procedure prc2 is 
    v_name char(10);
    begin
     for i  in ( select username from t1)
    loop
      DBMS_OUTPUT.PUT_LINE('i的值是'||i.username); 
     end loop;
     end;
    
    
    SQL> exec prc2;
    i的值是SYS
    i的值是TEST
    i的值是HR
    i的值是SCOTT
    i的值是CZCB
    i的值是CHECK
    
    PL/SQL 过程已成功完成。
    
    
    
    
    SQL> create or replace procedure prc2 is 
    v_name char(10);
    v_sql varchar2(4000); 
    v_sql2 varchar2(4000); 
    begin
     for i  in ( select username from t1)
    loop
      DBMS_OUTPUT.PUT_LINE('i的值是'||i.username); 
      v_sql := 'insert into t3 select aa,bb,';
      v_sql2 :=v_sql||i.username||'from dual';
        DBMS_OUTPUT.PUT_LINE('sql的值是'||v_sql2); 
    /*  exec immediate v_sql2;*/
     end loop;
     end;  2    3    4    5    6    7    8    9   10   11   12   13   14  
     15  /
    
    过程已创建。
    
    SQL> show err;
    没有错误。
    SQL> exec prc2;
    i的值是SYS
    sql的值是insert into t3 select aa,bb,SYS       from dual
    i的值是TEST
    sql的值是insert into t3 select aa,bb,TEST      from dual
    i的值是HR
    sql的值是insert into t3 select aa,bb,HR        from dual
    i的值是SCOTT
    sql的值是insert into t3 select aa,bb,SCOTT     from dual
    i的值是CZCB
    sql的值是insert into t3 select aa,bb,CZCB      from dual
    i的值是CHECK
    sql的值是insert into t3 select aa,bb,CHECK     from dual
    
    PL/SQL 过程已成功完成。
    
    
    
    
    create or replace procedure prc2 is
    v_name char(10);
    v_sql varchar2(4000);
    v_sql2 varchar2(4000);
    begin
     for i  in ( select trim(username) as username from t1)
    loop
      DBMS_OUTPUT.PUT_LINE('i的值是'||i.username);
      v_sql := 'insert into t3 select  ''aa'', ''bb'',';
      v_sql :=v_sql||''''||i.username||''''||chr(9)||'from dual';
        DBMS_OUTPUT.PUT_LINE('sql的值是'||v_sql2);
       execute immediate v_sql;
     end loop;
     end;
    
    
    SQL> select * from t3;
    
    A1	   A2	      A3
    ---------- ---------- --------------------
    aa	   bb	      SYS
    aa	   bb	      TEST
    aa	   bb	      HR
    aa	   bb	      SCOTT
    aa	   bb	      CZCB
    aa	   bb	      CHECK
    
    已选择6行。

  • 相关阅读:
    逆袭之旅DAY31.XIA.JDBC
    逆袭之旅DAY30.XIA.集合
    亮晶晶幼儿园家校沟通平台的设计与实现
    逆袭之旅DAY28.XIA.异常处理
    LY.JAVA.DAY12.String类
    2018年7月23日-星期二
    LY.JAVA.DAY12.Scanner
    DAY27.XIA.面向對象
    职业生涯规划
    如何找到自己喜欢的职业
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13351750.html
Copyright © 2011-2022 走看看