JAVA_WEB Oracle 10g学习:员工号自动生成源代码(触发器和序列)
2013-08-06 10:58
627 查看
create table user_info_temp
(
usId varchar2(20),
usNo varchar2(20),
usName varchar2(50)
)
--oracle中如何查看当前系统时间
select sysdate from dual;
--oracle中获取当前指定显示系统时间:yyyy 年份
select to_char(sysdate,'yyyy') from dual;
--concat拼接:'T'+'年份'
select concat('T', to_char(sysdate,'yyyy')) from dual;
--查看序列号
select temp_seq.nextval from dual;
--创建触发器
create or replace trigger user_trg
before insert on user_info_temp for each row
when(new.usId is null)
--(new.usId is null or/and new.usNo is null)
declare
pk number;
begin
select temp_seq.nextval into pk from dual;
select pk into :new.usId from dual;
select concat(concat('T', to_char(sysdate,'yyyy')),lpad(pk,4,'0')) into :new.usNo from dual;
end;
--测试触发器是创建成功
insert into user_info_temp(usId,usNo,usName) values ('1','T001','小强') ;
insert into user_info_temp(usId,usNo,usName) values ('1','T001','小李') ;
insert into user_info_temp(usName) values ('小李2') ;
select * from user_info_temp;
--说明:创建序列
-- Create sequence
create sequence TEMP_SEQ
minvalue 1
maxvalue 9999999999
start with 11
increment by 1
cache 10;
相关文章推荐
- 2013-8-6 10:56:07 JAVA_WEB:员工号自动生成源代码
- JAVA_WEB Oracle 10g学习:Oracle环境配置及导入文件
- Oracle建表,建序列,建触发器,自动生成唯一主键。dual解释
- JAVA_WEB Oracle 10g学习:SQL函数学习笔记
- JAVA_WEB Oracle 10g学习: PL/SQL应用程序性能调优
- JAVA_WEB Oracle 10g学习: PL/SQL一览
- JAVA_WEB Oracle 10g学习:Oracle 多表查询,子查询
- JAVA_WEB Oracle 10g学习: PL/SQL的控制结构
- JAVA_WEB Oracle 10g学习: PL/SQL集合与记录
- JAVA_WEB Oracle 10g学习: PL/SQL与Oracle间交互
- JAVA_WEB Oracle 10g学习: PL/SQL与Oracle间交互
- oracle创建表,序列,触发器,自动生成唯一主键
- JAVA_WEB Oracle 10g学习: 本地动态SQL
- JAVA_WEB Oracle 10g学习:PL/SQL数据类型
- JAVA_WEB Oracle 10g学习:Oracle 数据类型
- Oracle建表,建序列,建触发器,自动生成唯一主键
- JAVA_WEB Oracle 10g学习:PL/SQL
- Oracle主键ID设置自动增长(序列+触发器)
- Java学习笔记——序列中的自动排序和枚举类型的使用
- Java进阶学习:jar打包详解(二) 用MyEclipse自动生成