sql >> Database teknologi >  >> RDS >> Oracle

Blanding af DDL- og DML-sætninger i et enkelt script

En effektiv måde at indstille denne værdi på ville være:

UPDATE RETAILER SET RETAILER_ID = ROWNUM;

... og derefter oprette sekvensen, læse antallet af rækker i RETAILER for at indstille START MED værdien (en smule triviel PL/SQL og dynamisk SQL).

12c understøtter:

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

... forresten, så det er ikke nødvendigt at definere din egen trigger.

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




  1. CTE Recursion for at få træhierarki

  2. Migrer fra traditionel replikering til GTID

  3. Tæl alle poster fra databasen, hvor forfaldsdatoen matcher dagens dato

  4. IntegrityError:skelne mellem unikke begrænsninger og ikke null-overtrædelser