Oracle
 sql >> Base de données >  >> RDS >> Oracle

Mélanger des instructions DDL et DML dans un seul script

Un moyen efficace de définir cette valeur serait :

UPDATE RETAILER SET RETAILER_ID = ROWNUM;

... puis en créant la séquence, en lisant le nombre de lignes dans RETAILER pour définir la valeur START WITH (un peu de PL/SQL trivial et de SQL dynamique).

12c prend en charge :

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

... au fait, donc pas besoin de définir votre propre déclencheur.

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