sql >> Databasteknik >  >> RDS >> Oracle

Blanda DDL- och DML-satser i ett enda skript

Ett effektivt sätt att ställa in det värdet skulle vara:

UPDATE RETAILER SET RETAILER_ID = ROWNUM;

... och sedan skapa sekvensen, läsa antalet rader i RETAILER för att ställa in START WITH-värdet (lite trivial PL/SQL och dynamisk SQL).

12c stöder:

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

... förresten, så du behöver inte definiera din egen trigger.

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




  1. Xampp och MySQL har inte startat

  2. SQL dynamisk pivot för mål

  3. Windows 7 PHP MySQL-anslutningsproblem

  4. Minsta värde men inte NULL i Oracle SQL