Oracle
 sql >> база данни >  >> RDS >> Oracle

Използване на последователни стойности за първичния ключ в заявка INSERT

Защо просто не създадете тригер за вашата последователност като този:

Последователност:

CREATE SEQUENCE LD_USER_ROLE_SEQ
    INCREMENT BY 1 START WITH 1 NOMAXVALUE NOMINVALUE NOCYCLE NOCACHE NOORDER

Тригер:

CREATE TRIGGER LD_USER_ROLE_INSERT BEFORE INSERT ON LD_USER_ROLE
    REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW
BEGIN
    SELECT LD_USER_ROLE_SEQ.NEXTVAL INTO :NEW.USER_ROLE_ID FROM DUAL;
END;

Тригерът автоматично ще получи следващата стойност/id при всяко вмъкване (като auto_increment в mysql).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Връзка с база данни Винаги прекъсвайте връзката, когато разработвате на същия компютър като DB

  2. Oracle:Имам нужда от частично външно свързване. Вижте изображението

  3. Не може да се извика съхранена процедура на Oracle от SSRS report builder 3.0

  4. PL/SQL Как да върнете всички атрибути в ROW

  5. Съхранената функция в Oracle не вмъква стойности в желаната таблица