DROP SEQUENCE seq_chat_group_Id;
DROP SEQUENCE seq_chat_msg_id;
CREATE SEQUENCE seq_chat_group_Id;
CREATE SEQUENCE seq_chat_msg_id;
CREATE OR REPLACE TRIGGER autoIncrementMsgPK_trigger
BEFORE INSERT ON chat_messages
FOR EACH ROW WHEN (new.msgId IS NULL)
BEGIN
SELECT seq_chat_msg_id.nextval INTO:new.msgId FROM dual;
END;
CREATE OR REPLACE TRIGGER autoIncrementGroupPK_trigger
BEFORE INSERT ON chat_group
FOR EACH ROW WHEN (new.groupId IS NULL)
BEGIN
SELECT seq_chat_group_Id.nextval INTO:new.groupId FROM dual;
END;
分享到:
相关推荐
此外,MySQL的自动增长主键通常用AUTO_INCREMENT,而Oracle中对应的则是SEQUENCE和IDENTITY属性。 在Jeecms的建库脚本转换中,我们需要关注以下几点: 1. **数据类型转换**:MySQL中的INT在Oracle中可能是NUMBER,...
CREATE TRIGGER trg_name AFTER INSERT ON table_name FOR EACH ROW BEGIN -- SQL 语句 END; ``` - **触发时机**: - `BEFORE`:在数据插入前触发。 - `AFTER`:在数据插入后触发。 触发器可以用于确保...
CREATE TRIGGER trigger_name BEFORE INSERT ON table_name FOR EACH ROW BEGIN ... END; ``` **5. Job创建和操作:** - **创建作业:** ```sql DECLARE job_no NUMBER; BEGIN DBMS_SCHEDULER.create_job(job_...
oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 第一章 Oracle入门 一、 数据库概述 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前。简单来说是本身可视...
DB2 代码如下:CREATE TABLE T1( id INTEGER NOT NULL GENERATED ... Oracle(需要创建一个SEQUENCE和一个TRIGGER): 代码如下:CREATE TABLE T1( id NUMBER(10,0) NOT NULL, …);CREATE SEQUENCE T1_ID_SEQ
Oracle 数据库不直接支持自增字段,但可以通过序列(Sequence)和触发器(Trigger)的组合来实现。步骤如下: 1. **创建序列**: ```sql CREATE SEQUENCE T1_ID_SEQ INCREMENT BY 1 START WITH 1 NO MAXVALUE ...
CREATE SEQUENCE seq_name START WITH 1 INCREMENT BY 1 MAXVALUE 100 CYCLE CACHE 10; ``` 使用序列: ```sql SELECT seq_name.NEXTVAL FROM DUAL; ``` ##### 10.3 Sequence的使用范围 序列广泛应用于自动编号...
CREATE SEQUENCE seq_name START WITH 1 INCREMENT BY 1 MAXVALUE 100000 CYCLE NOCACHE; ``` **2. Sequences删除:** ```sql DROP SEQUENCE seq_name; ``` #### 十、数据库操作必须掌握技巧 **1. 中断正在执行...