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行。

  • 相关阅读:
    数据库备份,全备份、增量备份与恢复
    虚拟机扩容---续集(热扩容)
    虚拟机扩容
    Linux下R环境安装
    OLAP、OLTP的介绍CBO/RBO
    CRC校验(转)
    产品经理必读的30本书单(转)
    xcode6 下 ios simulator 有 Home 键么?
    如果我可以重新学习iOS开发(转)
    按位与、或、异或等运算方法(转)
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13351750.html
Copyright © 2011-2022 走看看