一、
一存储过程,挑选原来表OLD_TABLE的字段合并一序列SEQ_INTO插入新表NEW_TABLE
OLD_TABLE 未按索引排序存放,现在需要在insert into NEW_TABLE前排好序插入NEW_TABLE ,能否在存储过程内进行排序呢?请提供思路及解答;create or replace PROCEDURE CREATE_FD(
par_in IN VARCHAR2,
par_in1 IN OUT VARCHAR2
)
IS
vstr varchar2(1000):= '';
BEGINvstr:='
insert into NEW_TABLE select  USER_NO,CUSTOMER_NAME,TITLE,T_DATE, SEQ_INTO.nextval from OLD_TABLE
';
execute immediate vstr;
END; 
二、
循环序列可以倒排插入吗
如值为1-5的序列,能它插入时变为5、4、3、2、1插入?
望赐教~

解决方案 »

  1.   

    1、insert into NEW_TABLE select  USER_NO,CUSTOMER_NAME,TITLE,T_DATE, SEQ_INTO.nextval from OLD_TABLE order by 排序的列
    2、有这个必要吗?
      Oracle的序列提供了从大到小的功能,比如:999999 ~ 1
      修改序列的某个参数即可,可惜我记不的是那个了,你查一下就知道了。
      

  2.   

    insert into NEW_TABLE select  USER_NO,CUSTOMER_NAME,TITLE,T_DATE, SEQ_INTO.nextval from OLD_TABLE order by 排序的列
    order by 排序的列
    这里 排序的列你是指的新表的吗,还是旧表的这种语句不成立吧~~
      

  3.   

    CREATE SEQUENCE GHNO INCREMENT BY -1 START WITH 99999
        MAXVALUE 1.0E28 MINVALUE 1 CYCLE 
        NOCACHE NOORDER;