当前位置: 数据库>oracle
Oracle创建主键自增表(sql语句实现)及触发器应用
来源: 互联网 发布时间:2014-09-07
本文导语: 1、创建表 代码如下: createtableTest_Increase( useridnumber(10)NOTNULLprimarykey,/*主键,自动增加*/ usernamevarchar2(20) ); 2、创建自动增长序列 代码如下: CREATESEQUENCETestIncrease_Sequence INCREMENTBY1--每次加几个 STARTWITH1--从1开始计数 NOMAXVALUE--不设...
1、创建表
createtableTest_Increase(
useridnumber(10)NOTNULLprimarykey,/*主键,自动增加*/
usernamevarchar2(20)
);
2、创建自动增长序列
CREATESEQUENCETestIncrease_Sequence
INCREMENTBY1--每次加几个
STARTWITH1--从1开始计数
NOMAXVALUE--不设置最大值,设置最大值:maxvalue9999
NOCYCLE--一直累加,不循环
CACHE10;
3、创建触发器
CREATETRIGGERTest_IncreaseBEFORE
insertONTest_IncreaseFOREACHROW/*对每一行都检测是否触发*/
begin
selectTestIncrease_Sequence.nextvalinto:New.useridfromdual;
end;
//*退出sqlplus行编辑*/
4、提交
commit;
5、测试
insertinto
Test_Increase(Username)values('test');
代码如下:
createtableTest_Increase(
useridnumber(10)NOTNULLprimarykey,/*主键,自动增加*/
usernamevarchar2(20)
);
2、创建自动增长序列
代码如下:
CREATESEQUENCETestIncrease_Sequence
INCREMENTBY1--每次加几个
STARTWITH1--从1开始计数
NOMAXVALUE--不设置最大值,设置最大值:maxvalue9999
NOCYCLE--一直累加,不循环
CACHE10;
3、创建触发器
代码如下:
CREATETRIGGERTest_IncreaseBEFORE
insertONTest_IncreaseFOREACHROW/*对每一行都检测是否触发*/
begin
selectTestIncrease_Sequence.nextvalinto:New.useridfromdual;
end;
//*退出sqlplus行编辑*/
4、提交
代码如下:
commit;
5、测试
insertinto
代码如下:
Test_Increase(Username)values('test');