Oracle创建主键自增表(sql语句实现)及触发器应用
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');
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
本文地址:/shujuku/oracle/99809.html