格式是insert into 数据表(字段1,字段2,...)(select(字段1或运算,字段2或运算,...)where(条件);那它具体插入的值是多少啊?
比如下边的语句:insert into emp(empno,ename,hiredate)
                           (select empno+100,ename,hirdate from emp)where empno>=6999

解决方案 »

  1.   

    insert into emp(empno,ename,hiredate)
         select empno+100,ename,hirdate 
           from emp
          where empno>=6999
      

  2.   

    (select empno+100,ename,hirdate from emp)where empno>=6999
    的值是多少  insert 就是多少啊
      

  3.   


    --CTAS,复制数据
    SQL> create table t as
      2  select * from scott.emp
      3  where 1=0;
     
    Table created
     
    SQL> select count(*) from t;
     
      COUNT(*)
    ----------
             0
     
    SQL> insert into t
      2  select * from scott.emp
      3  where sal>2500;
     
    5 rows inserted
     
    SQL> commit;
     
    Commit complete
     
    SQL> select * from t;
     
    EMPNO ENAME      JOB         MGR HIREDATE          SAL      COMM DEPTNO
    ----- ---------- --------- ----- ----------- --------- --------- ------
     7566 JONES      MANAGER    7839 1981-04-02    2975.00               20
     7698 BLAKE      MANAGER    7839 1981-05-01    2850.00               30
     7788 SCOTT      ANALYST    7566 1987-04-19    3100.00               20
     7839 KING       PRESIDENT       1981-11-17    5000.00               10
     7902 FORD       ANALYST    7566 1981-12-03    3000.00               20
     
    SQL> select * from scott.emp
      2  where sal>2500
      3  /
     
    EMPNO ENAME      JOB         MGR HIREDATE          SAL      COMM DEPTNO
    ----- ---------- --------- ----- ----------- --------- --------- ------
     7566 JONES      MANAGER    7839 1981-04-02    2975.00               20
     7698 BLAKE      MANAGER    7839 1981-05-01    2850.00               30
     7788 SCOTT      ANALYST    7566 1987-04-19    3100.00               20
     7839 KING       PRESIDENT       1981-11-17    5000.00               10
     7902 FORD       ANALYST    7566 1981-12-03    3000.00               20
      

  4.   

    先执行where条件过滤查出数据集,然后再进行列上的计算
      

  5.   

    语句写错了吧?  你那个where 应该跟在后面括号里面的吧..
      

  6.   


    相当于是,但是插入的EMPNO的值不一样啊,, 语句好像有点问题吧,
      

  7.   

    把where条件发在查询里面,就能实现的你的赋值,但是id值是加100的