PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

Oracle/PostgreSQL में अनुक्रम सम्मिलित कथन में कोई आईडी नहीं है

Oracle 12c पेश करता है पहचान कॉलम :

CREATE TABLE SOMEUSERS (
  SOMEUSERS_ID       NUMBER(10) GENERATED ALWAYS AS IDENTITY
                     CONSTRAINT SOMEUSERS__SOMEUSERS_ID__PK PRIMARY KEY,
  SOMEUSERS_NAME     VARCHAR2(50)
                     CONSTRAINT SOMEUSERS__SOMEUSERS_NAME__NN NOT NULL,
  SOMEUSERS_PASSWORD VARCHAR2(50)
);

यदि आप इसे पुराने संस्करणों में करना चाहते हैं तो आपको एक ट्रिगर और एक क्रम की आवश्यकता होगी:

CREATE TABLE SOMEUSERS (
  SOMEUSERS_ID       NUMBER(10)
                     CONSTRAINT SOMEUSERS__SOMEUSERS_ID__PK PRIMARY KEY,
  SOMEUSERS_NAME     VARCHAR2(50)
                     CONSTRAINT SOMEUSERS__SOMEUSERS_NAME__NN NOT NULL,
  SOMEUSERS_PASSWORD VARCHAR2(50)
);
/

CREATE SEQUENCE gen_id_someUsers START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE;
/

CREATE OR REPLACE TRIGGER SOMEUSERS__ID__TRG 
BEFORE INSERT ON SOMEUSERS
FOR EACH ROW
BEGIN
  :new.SOMEUSERS_ID := gen_id_someUsers.NEXTVAL;
END;
/

तब आप बस कर सकते हैं (या तो पहचान कॉलम या आपके अनुक्रम के साथ संयुक्त ट्रिगर के साथ):

INSERT INTO SOMEUSERS (
  SOMEUSERS_NAME,
  SOMEUSERS_PASSWORD
) VALUES (
  'Name',
  'Password'
);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. अद्यतन jsonb_set() के साथ नेस्टेड सरणी में केवल एक वस्तु को प्रभावित करता है

  2. Postgresql - स्ट्रिंग के बीच में HTML टैग्स को साफ करें

  3. रेल 3, ActiveRecord, PostgreSQL - .uniq कमांड काम नहीं करता है?

  4. /usr/bin/clang के साथ पाइप इंस्टाल विफल हो जाता है:ऐसी कोई फ़ाइल या निर्देशिका नहीं

  5. दूसरे कंप्यूटर पर पायथन वातावरण को दोहराएं