-2
EMP_NO                 EMP_NAME   
---------------------- ---------- 
1                      mohan      
2                      ram        
3                      sysytem    
4                      chandra    
5                      screen     
6                      admin      
7                      manajor    
8                      project    
9                      keybord    
10                     mouse      
11                     monitor    

使用上表中的最大值如何生成序列

4

2 回答 2

0
  1. 创建序列让我们将其命名为 SEQ。
  2. 插入表格时

    INSERT INTO TABLE_NAME (EMP_NO,EMP_NAME) 值(从 DUAL 中选择 SEQ.NEXTVAL,......);

否则(无需创建序列)

select max(EMP_NO)+1 from EMP_TABLE
于 2013-09-17T11:22:25.187 回答
0

你想从 max(emp_no) + 1 开始吗?如果是,请使用此

DECLARE
    EX  NUMBER;
BEGIN
    SELECT
          MAX ( EMP_NO )
          + 1
    INTO
          EX
    FROM
          EMP;

    IF EX > 0
    THEN
        BEGIN
            EXECUTE IMMEDIATE 'DROP SEQUENCE SQ_NAME';
        EXCEPTION
            WHEN OTHERS
            THEN
                NULL;
        END;

        EXECUTE IMMEDIATE
               'CREATE SEQUENCE SQ_NAME INCREMENT BY 1 START WITH '
            || EX
            || ' NOCYCLE CACHE 20 NOORDER';
    END IF;
END;
于 2013-09-17T11:25:24.013 回答