博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle创建表相关
阅读量:6414 次
发布时间:2019-06-23

本文共 1959 字,大约阅读时间需要 6 分钟。

1 --创建表 2 create table person( 3 id number primary key, 4 name varchar2(40), 5 birth date 6 ); 7 --创建序列 8 create sequence person_id_seq 9 increment by 110 start with 111 nomaxvalue --不设置最大值12 nocycle  --一直累加,不循环13 cache 10;14 --创建触发器15 create or replace trigger person_id_tri before insert on person16 for each row17 declare18 v_newVal number(12) := 0;19 v_incval NUMBER(12) := 0;20 BEGIN21   IF INSERTING AND :new.id IS NULL THEN22     SELECT  person_id_SEQ.NEXTVAL INTO v_newVal FROM DUAL;23     -- If this is the first time this table have been inserted into (sequence == 1)24     IF v_newVal = 1 THEN 25       --get the max indentity value from the table26       SELECT NVL(max(id),0) INTO v_newVal FROM person;27       v_newVal := v_newVal + 1;28       --set the sequence to that value29       LOOP30            EXIT WHEN v_incval>=v_newVal;31            SELECT person_id_seq.nextval INTO v_incval FROM dual;32       END LOOP;33     END IF;34     --used to emulate LAST_INSERT_ID()35     --mysql_utilities.identity := v_newVal; 36    -- assign the value from the sequence to emulate the identity column37    :new.id := v_newVal;38   END IF;39 END;40 41 --简单触发器,上面触发器有问题,序列被跳过42 create or replace trigger person_id_tri before insert on person43 for each row when(new.id is null)44 BEGIN45 select person_id_seq.nextval into :new.id from dual;46 end;47 48 --插入实例49 insert into person(name, birth) values('ceshi',sysdate);50 --错误的时间格式51 insert into person(name,birth) values('hehe','2015-06-02 00:00:00');52 --正确的插入日期53 insert into person(name,birth) values('hehe',to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss'));54 insert into person(name,birth) values('hehe',to_date('2005-01-01','yyyy-MM-dd'));55 56 --oracle 中日期的格式化57 select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from dual;58 59 --查询表60 select * from person ;61 62 --截断表63 truncate table person;

 本文转自Ryan.Miao博客园博客,原文链接:http://www.cnblogs.com/woshimrf/p/4867960.html,如需转载请自行联系原作者

你可能感兴趣的文章
Systemd入门教程:命令篇(转)
查看>>
java随机范围内的日期
查看>>
spring事务学习(转账案例)(二)
查看>>
[官方教程] [ES4封装教程]1.使用 VMware Player 创建适合封装的虚拟机
查看>>
http协议与http代理
查看>>
【iOS开发-91】GCD的同步异步串行并行、NSOperation和NSOperationQueue一级用dispatch_once实现单例...
查看>>
Redis+Spring缓存实例
查看>>
Storm集群安装详解
查看>>
centos7.x搭建svn server
查看>>
原码编译安装openssh6.7p1
查看>>
项目实战:自定义监控项--监控CPU信息
查看>>
easyui-datetimebox设置默认时分秒00:00:00
查看>>
蚂蚁分类信息系统5.8多城市UTF8开源优化版
查看>>
在django1.2+python2.7环境中使用send_mail发送邮件
查看>>
“Metro”,移动设备视觉语言的新新人类
查看>>
PHP源代码下载(本代码供初学者使用)
查看>>
Disruptor-NET和内存栅栏
查看>>
Windows平台ipod touch/iphone等共享笔记本无线上网设置大全
查看>>
播放加密DVD
查看>>
产品设计体会(3013)项目的“敏捷沟通”实践
查看>>