oracle 建表 主键自增序列

(2011-10-12 11:59:22)

标签:

杂谈

分类: oracle

SQL> create table sms_activity(
  2  id number,
  3  activity_name varchar2(50),
  4  begin_time varchar2(30),
  5  end_time varchar2(30),
  6  content varchar2(600)
  7  );

表已创建。

SQL> commit;

提交完成。

SQL> alter table sms_activity add primary key (id);

表已更改。

SQL> commit;

提交完成。

SQL> create sequence sms_activity_seq
  2  minvalue 1
  3  maxvalue 9999999999
  4  increment by 1
  5  cache 20
  6  ;

序列已创建。

SQL> create or replace trigger bi_activity
  2  before insert on sms_activity
  3  for each row
  4  begin
  5  select sms_activity_seq.nextval into :NEW.ID from dual;
  6  end;
  7  /

触发器已创建

SQL> desc sms_activity
 名称                                      是否为空? 类型
 ----------------------------------------- -------- ----------------------------
 ID                                        NOT NULL NUMBER
 ACTIVITY_NAME                                      VARCHAR2(50)
 BEGIN_TIME                                         VARCHAR2(30)
 END_TIME                                           VARCHAR2(30)
 CONTENT                                            VARCHAR2(600)

SQL> alter table sms_activity add (create_time varchar2(30),createby varchar2(20),modify_time varchar2(30),modifyby varchar2(20));

表已更改。

SQL> commit;

====================================================

Oracle创建表和主键自增

来源:
Oracle创建表和主键自增 创建表: create table tuser( id number(11) not null, name varchar2(20) not null, password varchar2(20), birthday date, constraint tuser_pk primary key (id) ); 创建序列: create sequence increase_seq incre
 
-
  Oracle创建表和主键自增    创建表:
    create table tuser(
    id number(11) not null,
    name varchar2(20) not null,
    password varchar2(20),
    birthday date,
    constraint tuser_pk primary key (id)
    );
    创建序列:
    create sequence increase_seq increment by 1 start with 1 nomaxvalue nocycle cache 10;
    创建trigger:
    create or replace trigger tuser_trigger
    before insert on tuser for each row
    begin
    select increase_seq.nextval into :new.id from dual;
    end;
    /
    根据使用的工具,可能需要增加“/”来执行PL/SQL块。
    测试:
    insert into tuser(name,password,birthday) values('wujay','123456',null);
    commit;
    select * from tuser;
    ID NAME                 PASSWORD             BIRTHDAY
    ---------- -------------------- -------------------- --------------
    1 wujay                123456
    修改表:
    alter table tuser rename column id to pk_tuser;

oracle 建表 主键自增序列/////的更多相关文章

  1. Oracle删除表主键语句

    删除无名主键语句: SELECT * FROM USER_CONS_COLUMNS WHERE TABLE_NAME = '表名'; ALTER TABLE 表名 DROP CONSTRAINT 主键 ...

  2. mysql建表: 主键,外键约束

    CREATE DATABASE db_studentinfo; USE db_studentinfo ; DROP TABLE IF EXISTS t_student ; CREATE TABLE t ...

  3. 5.oracle建表的时候同时创建主键,外键,注释,约束,索引

    5.oracle建表的时候同时创建主键,外键,注释,约束,索引 1 --主键 )); ) ,constraint aba_pr primary key(id,name1)); --外键 )); --复 ...

  4. Spring中获取数据库表主键序列

    在程序开发中,我们经常有写数据库表的操作,数据表中经常带有主键自增序列,如何获取自增序列.spring中提供了相应的类 DataFieldMaxValueIncrementer. DataFieldM ...

  5. 设置MySQL数据表主键

    设置MySQL数据表主键: 使用“primary key”关键字创建主键数据列.被设置为主键列不允许出现重复的值,很多情况下与“auto_increment”递增数字相结合.如下SQL语句所示: My ...

  6. 在Oracle中设置主键自增

    转自:https://www.2cto.com/database/201705/636725.html 数据库设置主键自增">oracle数据库设置主键自增: --创建表 create ...

  7. PostgreSQL数据库中获取表主键名称

    PostgreSQL数据库中获取表主键名称 一.如下表示,要获取teacher表的主键信息: select pg_constraint.conname as pk_name,pg_attribute. ...

  8. PowerDesigner生成的ORACLE 建表脚本中去掉对象的双引号,设置大、小写

    原文:PowerDesigner生成的ORACLE 建表脚本中去掉对象的双引号,设置大.小写 若要将 CDM 中将 Entity的标识符都设为指定的大小写,则可以这么设定: 打开cdm的情况下,进入T ...

  9. SQL语句获取数据库中的表主键,自增列,所有列

    SQL语句获取数据库中的表主键,自增列,所有列   获取表主键 1:SELECT TABLE_NAME,COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_U ...

随机推荐

  1. Leetcode 283.移动零

    移动零 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序. 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明: 必须在原数组 ...

  2. [luoguP2184] 贪婪大陆(树状数组)

    传送门 用两个树状数组,cr 维护 1....x 中 r 的数量 cl 维护 1....x 中 l 的数量 求答案的时候只需要求 y 前面 被作为左端点 的个数 - x 前面 被作为右端点的个数 —— ...

  3. [luoguP1364] 医院设置(树的重心)

    传送门 假设数据再大些,我这就是正解,然而题解里总是各种水过. 两边dfs,一遍求重心,一遍统计距离. ——代码 #include <cstdio> #include <cstrin ...

  4. 【USACO】wormholes 【暴力】

    题意:给出2K个平面上的点,给它们一一配对,问有多少种配对方法使得存在从某个点一直向右走会陷在循环里(K<=6) 思路:由于k很小,配对方法的话暴力枚举,然后判环,判环时需要注意的是一条直线上的 ...

  5. 【bzoj1090】 [SCOI2003]字符串折叠

    [bzoj1090] [SCOI2003]字符串折叠 2014年3月9日3,1140 Description 折叠的定义如下: 1. 一个字符串可以看成它自身的折叠.记作S  S 2. X(S)是X ...

  6. [Vijos] 弱弱的战壕

    描述 永恒和mx正在玩一个即时战略游戏,名字嘛~~~~~~恕本人记性不好,忘了-_-b. mx在他的基地附近建立了n个战壕,每个战壕都是一个独立的作战单位,射程可以达到无限(“mx不赢定了?!?”永恒 ...

  7. 解决ssh无操作自动断开[转载,已经验证]

    用SSH远程,如果几分钟没有任何操作,连接就会断开,必须重新登陆才行,非常麻烦,一般修改2个地方3项即可解决问题: 1.终端键入:echo $TMOUT       如果显示空白,表示没有设置,等于使 ...

  8. php之memcache学习

    php之memcache学习 简介: memcache是一个分布式高速缓存系统. 分布式是说可以部署在多台服务器上,实现集群效果: 高速是因为数据都是维护在内存中的: 特点和使用场景: 1.非持久化存 ...

  9. for-else和wihle-else组合用法

    当for和else组合一起使用的时候,for循环正常执行完毕,会执行else语句,否则,不会执行else语句 for i in range(10): if i == 2: break else: pr ...

  10. python学习之-- 协程

    协程(coroutine)也叫:微线程,是一种用户态的轻量级线程,就是在单线程下实现并发的效果.优点:1:无需线程上下文切换的开销.(就是函数之间来回切换)2:无需原子操作锁定及同步的开销.(如改一个 ...