用mysql最了个项目、现在想让他支持oracle、然后我就在一直改东西、遇到这样一个问题、mysql中的一个表的主键是这样建的`ID` int(10) NOT NULL AUTO_INCREMENT 是自动增长的、所以这条语句是行得通的insert into t_test_paper(plan_id,user_id,status,use_yn,chg_user_id,chg_dt)
select plan_id,user_id,0,'Y',#user_id#,now() 
from t_test_plan_auth_s
where plan_id=#plan_id#但是现在出问题了、我在oracle中建序列了、但是经理说不建触发器、不好控制、插入的时候手动sequence.nextval就可以了、但是上面那条语句就行不通了、我不知道在哪里用sequence.nextval啊、各位老大们有没有什么好的办法

解决方案 »

  1.   

    insert into t_test_paper(plan_id,user_id,status,use_yn,chg_user_id,chg_dt)
            select sequence.nextval,user_id,0,'Y',#user_id#,now() 
            from t_test_plan_auth_s
            where plan_id=#plan_id#
      

  2.   


     ER。。可能改错了点东西insert into t_test_paper(id,plan_id,user_id,status,use_yn,chg_user_id,chg_dt)
            select sequence.nextval,plan_id,user_id,0,'Y',#user_id#,now() 
            from t_test_plan_auth_s
            where plan_id=#plan_id#
      

  3.   

    还有  now()  要改成sysdate的、这位大哥可能是没注意
      

  4.   


    +1
    换成从sequence取就可以了,即select your_sequence.nextval