`

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

    博客分类:
  • DB
阅读更多
// 创建一个序列
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','取得数据库工程师证','学生管理系统开发');

分享到:
评论

相关推荐

    创建Oracle触发器用于表中序列值自增长(Helloblock写作)

    本文将详细解释如何通过创建序列与触发器来实现表中特定字段的自增长功能。 #### 一、创建测试表 首先,我们需要创建一张用于测试的表`tb1`,该表包含两个字段:`id`作为主键,`name`作为字符串类型的数据存储。 ...

    oracle快速批量生成表和触发器和序列.zip

    使用`CREATE SEQUENCE`语句可以创建序列,可以指定初始值、增长步长、是否循环等属性。批量生成序列意味着为多个表创建独立的序列,以确保每个表的主键都有唯一的值来源。 在实际操作中,你可以通过以下步骤批量...

    Oracle中创建表,创建序列,创建自增字段,添加注释, 添加记录,添加触发器,提交

    Oracle 中创建表、序列、自增字段、添加注释、添加记录、添加触发器、提交的知识点总结 Oracle 中创建表是指在 Oracle 数据库中创建一个新的表结构,以存储特定的数据。在创建表时,需要指定表的名称、字段名称、...

    Oracle自增序列和触发器生成工具.zip

    总的来说,"Oracle自增序列和触发器生成工具"是数据库开发者的实用工具,它简化了在Oracle数据库中创建和管理自增序列及触发器的过程,使得数据表的设计和维护变得更加高效。通过熟练掌握和使用这样的工具,开发者...

    oracle通过触发器,实现序列自增

    1. **创建序列**: ```sql CREATE SEQUENCE sequence_name MINVALUE min_value -- 序列最小值 MAXVALUE max_value -- 序列最大值 START WITH start_value -- 序列起始值 INCREMENT BY increment -- 序列增量 ...

    oracle创建表,索引,表空间,触发器,schema用户,序列的Sql文

    6. **创建序列**:序列是Oracle中的一个特殊对象,用于生成唯一的整数序列号。例如: ```sql CREATE SEQUENCE seq_employee_id START WITH 1 INCREMENT BY 1; ``` 这个序列名为seq_employee_id,起始值为1,...

    详解Oracle序列和触发器的使用

    创建序列的SQL语句如下所示: ```sql CREATE SEQUENCE name INCREMENT BY n START WITH n [MAXVALUE | MINVALUE n] [CYCLE | NOCYCLE] [CACHE n | NOCACHE]; ``` **二、Oracle触发器** 触发器是一种数据库对象,...

    如何实现Oracle自增,序列,触发器都有

    在Oracle数据库中实现主键自增功能可以通过创建序列(sequence)与触发器(trigger)相结合的方式实现。这种方式不仅能够确保数据表中的主键唯一性,还能自动递增,极大地简化了开发人员的工作。 #### 创建Sequence...

    Oracle数据库表序列ID自增生成器

    创建序列的基本语法如下: ```sql CREATE SEQUENCE sequence_name START WITH start_value INCREMENT BY increment_value MINVALUE min_value MAXVALUE max_value CYCLE | NOCYCLE CACHE cache_size NOCACHE...

    oracle触发器语法要点

    为了实现表中某列的自增功能,可以创建一个序列和相应的触发器。 ```sql CREATE TABLE tab_user ( id NUMBER(11) PRIMARY KEY, username VARCHAR(50), password VARCHAR(50) ); CREATE SEQUENCE my_seq ...

    创建序列触发器

    ### 创建序列触发器 在Oracle数据库管理中,序列(Sequence)和触发器(Trigger)是两个非常实用的功能组件。它们可以有效地帮助我们自动化某些数据库操作流程,提高数据处理效率及准确性。本文将详细介绍如何在...

    oracle触发器实现主键自动增长

    #### 步骤一:创建序列 序列是实现主键自动增长的基础,首先我们需要创建一个序列。在给定的部分内容中,已经展示了一个序列`SEQ_cata0`的创建语句: ```sql CREATE SEQUENCE SEQ_cata0 INCREMENT BY 1 START WITH...

    oracle 触发器方式实现行ID自增加

    创建序列的SQL语句如下: ```sql CREATE SEQUENCE my_seq START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE 999999999999 CYCLE; ``` 这里的`my_seq`是序列的名称,`START WITH`定义了序列的初始值,`...

    oracle序列和触发器的建立

    通过创建序列和触发器,我们可以实现在插入新记录时自动为主键字段生成唯一值的功能。这种方式不仅可以简化开发人员的工作,还可以确保数据的一致性和完整性。在实际应用中,序列和触发器是非常有用的工具,能够帮助...

    oracle建触发器与创建递增字段

    ##### 创建序列(SEQUENCE) 通过以下SQL语句可以创建一个名为`Seq_test`的序列: ```sql CREATE SEQUENCE Seq_test INCREMENT BY 1 START WITH 1 NOMAXVALUE MINVALUE 0 NOCYCLE CACHE 20 NOORDER; ``` - `...

    Oracle数据库创建表tuser设置主键自动增长

    本篇详细介绍了如何在Oracle数据库中创建一张包含自动增长主键的表`tuser`,并通过创建序列和触发器实现了这一功能。这种做法不仅能够简化主键管理的工作量,还能够确保数据的一致性和完整性。对于实际应用来说,这...

    Oracle使用序列创建自增字段

    ### 创建序列 (Create Sequence) #### 基本语法与示例 在 Oracle 中,序列是一个用于生成一系列数字的对象,通常用于为表中的某一列提供连续的数值。创建序列的基本语法如下: ```sql CREATE SEQUENCE sequence_...

    创建oracle数据库中表的主键和自增

    - 使用触发器创建语句创建一个触发器,该触发器会在插入新记录到表之前为自增字段设置值。 4. **插入数据**: - 在表中插入新记录时,无需指定自增字段的值,触发器会自动为其分配序列的下一个值。 5. **验证**...

    powerdesigner创建oracle_数据库表,设置表主键列为自动增长

    - 复制生成的表创建脚本到PL/SQL Developer或其他Oracle客户端。 2. **生成序列的创建脚本:** - 返回到序列视图,点击`Sequence Properties`对话框中的`Preview`选项卡。 - 将生成的序列创建脚本复制到表创建...

    开发篇之Oracle触发器心得

    1. **对象所有权**:确保表、序列和索引等核心数据库对象创建在相应的用户表空间中,而视图、别名等辅助对象应创建在Apps用户下。避免将表直接建在APPS下,以免引发权限问题和删除操作失败。 2. **SQL脚本编写**:...

Global site tag (gtag.js) - Google Analytics