Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Misturando instruções DDL e DML em um único script


Uma maneira eficiente de definir esse valor seria:
UPDATE RETAILER SET RETAILER_ID = ROWNUM;

... e depois criando a sequência, lendo o número de linhas em RETAILER para definir o valor START WITH (um pouco de PL/SQL trivial e SQL dinâmico).

12c suporta:
CREATE SEQUENCE RETAILER_ID_SEQ;
ALTER TABLE RETAILER ADD (RETAILER_ID NUMBER DEFAULT RETAILER_ID_SEQ.NEXTVAL NOT NULL );

... a propósito, não há necessidade de definir seu próprio gatilho.

http://docs.oracle.com/database/121/SQLRF/statements_3001 .htm