1. 创建表

sql
CREATE TABLE MY_DEMO(
"ID" NUMBER NOT NULL,
"MCC" VARCHAR2(255),
PRIMARY KEY ("ID")
)
.
2.创建序列


sql
CREATE SEQUENCE MY_DEMO_SEQ_ID
MINVALUE 1
MAXVALUE 9999
INCREMENT BY 1 START WITH 1
CACHE 10
.
3. 创建触发器





sql
Create trigger MY_DEMO_ID before
insert on MY_DEMO for each row /*对每一行都检测是否触发*/
begin
select MY_DEMO_SEQ_ID.nextval into:NEW.ID from dual;
end;
.
4. 测试插入数据

sql
INSERT INTO MY_DEMO(MCC) VALUES('AAA');
INSERT INTO MY_DEMO(MCC) VALUES('BBB');
INSERT INTO MY_DEMO(MCC) VALUES('CCC');
INSERT INTO MY_DEMO(MCC) VALUES('DDD');
INSERT INTO MY_DEMO(MCC) VALUES('EEE');
INSERT INTO MY_DEMO(MCC) VALUES('FFF');
INSERT INTO MY_DEMO(MCC) VALUES('GGG');
INSERT INTO MY_DEMO(MCC) VALUES('HHH');
.
.
.
就此就完成啦!!!
.
.
.
注意 : 如果报 表或视图不存在,则在表名前加模式名 ,格 式 为 “模式名”.“表名”
本文介绍了如何在Oracle数据库中创建表、序列以及触发器,用于自动为新插入的数据生成唯一ID。首先创建了一个名为MY_DEMO的表,包含ID和MCC两个字段,ID设为主键。接着创建了一个名为MY_DEMO_SEQ_ID的序列,设置其最小值、最大值和递增规则。然后创建了一个触发器MY_DEMO_ID,在插入数据前自动为ID字段赋值。最后,演示了插入多条MCC数据的SQL语句。注意,当操作涉及特定模式时,需要指定模式名。
1154

被折叠的 条评论
为什么被折叠?



