Oracle/MySQL °ü·Ã °Ô½ÃÆÇ |
---|
2015/01/11(23:51) from 58.125.30.140 | |
ÀÛ¼ºÀÚ : ÁÖÀÎÀå | Á¶È¸¼ö : 2721 , ÁÙ¼ö : 39 |
[Oracle] Mysql's auto-increment ±â´É±¸Çö (sequence & trigger) |
---|
1. ½ÃÄö½º »ý¼º (Oracle SQL Developer) SQL> CREATE SEQUENCE persons_id_seq START WITH 1 INCREMENT BY 1; 2. ½ÃÄö½º Á¶È¸ SQL> SELECT * FROM user_sequences; 3. ÇöÀç/´ÙÀ½ ½ÃÄö½º Á¶È¸, »ðÀÔ SQL> SELECT persons_id_seq.currval FROM dual; // nextvalÀ» ¸ÕÀú Á¶È¸ÇÏ°í currvalÀ» Á¶È¸ÇØ¾ß ÇÔ SQL> SELECT persons_id_seq.nextval FROM dual; SQL> INSERT INTO persons(id, name) values(persons_id_seq.NEXTVAL, 'È«±æµ¿'); 4. ½ÃÄö½º ÃʱâÈ ´Ù¸¥¹æ¹ý Æ®¸®°Å »ç¿ë 5. Æ®¸®°Å »ý¼º (Oracle SQL Developer) CREATE OR REPLACE TRIGGER trigger_book_auto_id BEFORE INSERT ON book FOR EACH ROW BEGIN IF INSERTING THEN IF :NEW.id is null THEN SELECT book_id_seq.nextval INTO :NEW.id FROM DUAL; END IF; END IF; END; |