先用变量将SQ_Staff.currval取出存下来再插入不行吗?

解决方案 »

  1.   

    select :
    "SELECT EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO FROM SCOTT.EMP"
    insert:
    "INSERT INTO SCOTT.EMP(EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) VALUES(:EMPNO, :ENAME, :JOB, :MGR, :HIREDATE, :SAL, :COMM, :DEPTNO)"
    delete:
    "DELETE FROM SCOTT.EMP WHERE (EMPNO = :EMPNO )"create table:
    CREATE TABLE "SCOTT"."EMP" ("EMPNO" NUMBER(4) NOT NULL, "ENAME" 
        VARCHAR2(10 byte), "JOB" VARCHAR2(9 byte), "MGR" NUMBER(4), 
        "HIREDATE" DATE, "SAL" NUMBER(7, 2), "COMM" NUMBER(7, 2), 
        "DEPTNO" NUMBER(2), 
        CONSTRAINT "FK_DEPTNO" FOREIGN KEY("DEPTNO") 
        REFERENCES "SCOTT"."DEPT"("DEPTNO"), 
        CONSTRAINT "PK_EMP" PRIMARY KEY("EMPNO") 
        USING INDEX  
        TABLESPACE "SYSTEM" 
        STORAGE ( INITIAL 64K NEXT 0K MINEXTENTS 1 MAXEXTENTS 
        2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1) 
        PCTFREE 10 INITRANS 2 MAXTRANS 255)  
        TABLESPACE "SYSTEM" PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS
        255 
        STORAGE ( INITIAL 64K NEXT 0K MINEXTENTS 1 MAXEXTENTS 
        2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1) 
        LOGGING 
      

  2.   

    先取SQ_Staff.nextval再insert,很容易解决的啊.
      

  3.   

    记得看过SQ_Staff.nextval 并一定合适 取得数值可能不是你要的如果有人修改了序列的生成Oracle可以设置自增的