Oracle创建主键自增表(sql语句实现)及触发器应用
内容摘要
1、创建表 复制代码 代码如下: createtableTest_Increase( useridnumber(10)NOTNULLprimarykey,/*主键,自动增加*/ usernamevarchar2(20) ); 2、创建自动增长序列 复制代码
文章正文
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');
代码注释