تا پیش از اوراکل 12 چنانچه بخواهید برای ستونی از یک جدول Defaul Value تعیین کنید، باید یک Trigger و Sequence ایجاد شود؛ تا هنگام Insert در جدول مورد نظر، Trigger اجرا شود و با اضافه شدن Sequnce، مقدار آن در ستون مورد نظر قرار گیرد، مانند مثال زیر :
CREATE TABLE Person (
ID NUMBER(10) NOT NULL,
… );
ALTER TABLE departments ADD (
CONSTRAINT person_pk PRIMARY KEY (ID));
CREATE SEQUENCE person_seq START WITH 1;
CREATE OR REPLACE TRIGGER person_trgr
BEFORE INSERT ON Person
FOR EACH ROW
BEGIN
SELECT person_seq.NEXTVAL
INTO :new.id
FROM dual;
END;
ولی در اوراکل 12C نیازی به ساختن Trigger نیست و میتوان تنها با استفاده از Sequence برای ستون مورد نظر Default Value تعیین کرد. به عنوان مثال :
CREATE SEQUENCE person_seq;
CREATE TABLE Person (
ID NUMBER(10) DEFUALT person_seq.NEXTVAL,
… );
- ۰ نظر
- ۱۶ بهمن ۹۶ ، ۱۸:۰۰
- ۵۰۰ نمایش