目前有这么一个存储过程。根据where条件从表A中查询出了N条数据,想将这N条数据中的某些字段全部插入到表B中去。如何实现??

解决方案 »

  1.   

    insert into B select * from A where ....
      

  2.   

    insert into B(col1,col2,...) select A.col1,A.col2,... from A where A.col=....
      

  3.   

    实测数据:CREATE TABLE T63
    (
        ID NUMBER(4),
        NAME VARCHAR2(20)
    );INSERT INTO T63 VALUES(1, '123');
    INSERT INTO T63 VALUES(2, 'xt');
    INSERT INTO T63 VALUES(3, '张');CREATE TABLE T64
    (
        ID NUMBER(4),
        NAME VARCHAR2(20)
    );
    实测结果:-- 将T63表中NAME字段值为中文的记录插入到T64表中。
    INSERT INTO T64 
    SELECT * FROM T63 WHERE LENGTH(NAME) != LENGTHB(NAME);
      

  4.   

    insert into B(COL1,COL,.....) SELECT A.NU1,A.NU2,.... from A where A.NU1 = '1' OR a.NU2 = '1'  为什么不行呢??
      

  5.   

    insert into B(col1,col2,...) select A.col1,A.col2,... from A where A.col=....
      

  6.   

    insert into B(col1,col2,...) select A.col1,A.col2,... from A where A.col=....
      

  7.   

    一条语句就解决的事情一般不建议分开去做.
    insert into tabb select name,etime from taba a where a.name='ccc';
      

  8.   

    PROCEDURE A(I_SQLWHERE   IN VARCHAR2    )
    IS
    BEGIN
      INSERT INTO TABLE_A
            SELECT COL1
                  ,COL2
                  ,COL3
                  ,......
           WHERE COL1= I_SQLWHERE;END;大概就是这么写了