oracle表创建序列创建触发器创建

// 创建一个序列
CREATE SEQUENCE Car_GUID increment by 1;
// 创建一个表
CREATE TABLE Car
(
GUID NUMBER NOT NULL PRIMARY KEY,
PhoneId Char(11) NOT NULL,
UserName VarChar(20) NOT NULL
);
// 添加注释
comment on table car is '定位信息用户表';
Comment on column car.guid is '自增字段';
Comment on column Car.PhoneId is '电话唯一标识';
Comment on column Car.UserName is '用户名称';
// 添加一条记录
INSERT INTO Car(GUID, PhoneId, UserName) Values(CAR_GUID.nextval, '13589256783', '张三');
// 提交
commit;

// 触发器
create or replace trigger Trigger_Car_GUID_Insert
before insert on Car
for each row
begin
select CARGUIDSEQ.nextval into :new.GUID from sys.dual;
end;

-----------------------------下面是自已建的测试表----------------------------
/*create table STUBASEINFO(ID NUMBER(10)
CONSTRAINT STUBINFO_id_pk PRIMARY KEY,
STUID NUMBER(8) NOT NULL UNIQUE,
STUNAME VARCHAR2(20) NOT NULL,
SEX NUMBER DEFAULT 1 NOT NULL,
PHONE VARCHAR2(13),
MOBILE VARCHAR2(11),
ADDR VARCHAR2(100),
EMAIL VARCHAR(100),
FLAG NUMBER DEFAULT 1 NOT NULL,
OPRTIME DATE DEFAULT SYSDATE
);
comment on column STUBASEINFO.STUID is '学号与学生履历表中的学号一对一';
comment on column STUBASEINFO.FLAG is '学生的状态信息' */


/* create table STURESUME(ID NUMBER(10) CONSTRAINT STURESUME_id_pk PRIMARY KEY,
STUID NUMBER(8) NOT NULL UNIQUE,
EXPERIENCEONE VARCHAR2(200),
EXPERIENCETWO VARCHAR2(200),
EXPERIENCETH VARCHAR2(200),
EXPERIENCEFOUR VARCHAR2(200),
EXPERIENCEFIVE VARCHAR2(200),
OPRTIME DATE DEFAULT SYSDATE);
COMMENT ON TABLE STURESUME IS '学生履历记录表';
COMMENT ON COLUMN STURESUME.STUID IS '学号与stubaseinfo表中一对一关系';
COMMENT ON COLUMN STURESUME.EXPERIENCEONE IS '第一个工作经验或是取得的成就';
COMMENT ON COLUMN STURESUME.OPRTIME IS '操作时间'; */

---给两表增加序列
--CREATE SEQUENCE STUBASEINFO_ID increment by 1;
--CREATE SEQUENCE STURESUME_ID increment by 1;


---给两表新增一条数据信息(测试)
INSERT INTO STUBASEINFO(ID,STUID,STUNAME,SEX,MOBILE,ADDR) Values(STUBASEINFO_ID.nextval,'01080001','赵敏敏',0,'13912345678','杭州市西湖区');

INSERT INTO STURESUME(ID,STUID,EXPERIENCEONE,EXPERIENCETWO) VALUES(STURESUME_ID.NEXTVAL,'01080001','取得数据库工程师证','学生管理系统开发');
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle创建触发器的语法如下: CREATE \[OR REPLACE\] TRIGGER <触发器名> {BEFORE | AFTER | INSTEAD OF} {INSERT | UPDATE | DELETE} ON <名> \[FOR EACH ROW\] \[WHEN (<条件>)\] BEGIN -- 触发器的逻辑代码 END; 其,<触发器名>是你给触发器起的名字,<名>是触发器所属的名,{BEFORE | AFTER | INSTEAD OF}触发器的触发时机,{INSERT | UPDATE | DELETE}触发器的触发事件,\[FOR EACH ROW\]触发器是行级触发器,\[WHEN (<条件>)\]触发器的触发条件。 在BEGIN和END之间,你可以编写触发器的逻辑代码,用来处理触发事件发生时的操作。 举个例子,如果你要在"employees"上创建一个在插入新记录时触发的触发器,可以使用以下语句: CREATE OR REPLACE TRIGGER trg_insert_employee BEFORE INSERT ON employees FOR EACH ROW BEGIN -- 触发器的逻辑代码 -- 在这里可以对插入的数据进行处理或验证 END; 这个触发器会在每次插入新记录之前触发,并且可以在BEGIN和END之间编写逻辑代码来处理插入的数据。 #### 引用[.reference_title] - *1* [Oracle 创建、定义序列以及创建触发器](https://blog.csdn.net/weixin_53313592/article/details/125854865)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值