All pastes #783642 Raw Edit

Someone

public text v1 · immutable
·published 2007-11-19 08:50 UTC
rendered paste body
DECLARE v_StartWith VARCHAR(10); 
   v_StartWithSys VARCHAR(10);
BEGIN
SELECT TAD_LEVEL INTO v_StartWithSys  FROM AD_SYSTEM  WHERE AD_SYSTEM_ID=0; 
    v_StartWith:=TO_CHAR(TO_NUMBER(v_StartWithSys) +1) || '00000'; 
    v_StartWithSys:=v_StartWithSys || '00000'; 
    UPDATE AD_SEQUENCE 
      SET CURRENTNEXT=(SELECT AD_SEQUENCE.INCREMENTNO + 
                                   (CASE SIGN(COALESCE((SELECT MAX(t.AD_Sequence_ID) 
                                                          FROM AD_Sequence t 
                                                          WHERE t.AD_Sequence_ID<TO_NUMBER(v_StartWith)),0)-TO_NUMBER(v_StartWithSys))
                                    WHEN  -1  THEN TO_NUMBER(v_StartWithSys)-AD_SEQUENCE.INCREMENTNO 
                                    ELSE (SELECT MAX(t.AD_Sequence_ID) 
                                            FROM AD_Sequence t 
                                           WHERE t.AD_Sequence_ID<TO_NUMBER(v_StartWith)) 
                                     END) AS SEQUENCE 
                             FROM AD_SEQUENCE 
                            WHERE UPPER(NAME) = 'AD_SEQUENCE')
     WHERE UPPER(NAME) = 'AD_SEQUENCE';
END;