oracle 序列 双库,Oracle 数据库的序列+Oracle编程

首先说序列:就是Oracle里没有自增id,所以需要序列+触发器定义表的id。

在Command  +Window窗口 ed;命令 ,创建序列

创建序列1

create sequenceseq

Sql+window窗口 查询序列

Select seq.nextval from dual;

注意:两个窗口需要登录同一用户进行操作哦。

创建序列2

createsequence seq2

start with 2--开始

increamentby 2 --每次增加多少

修改创建3

altersequence seq2

maxvalue50--最大值(可随时更改)

cycle   --循环(到最大值后会自动从头开始)

修改创建4

altersequence seq2

start with 10--起始值

maxvalue70--最大值

cycle  --循环

执行此句,会报错

d906834a1ca4fc6a758807429068de8a.png

原因:因为此序列创建之后,就不能更改起始值

想要取消最大值和不要重复循环;

nomaxvalue--无最大值

nocycle--无循环

Sql+window查询序列

Select seq2.nextval from dual;

这样你每次查询就能永远自增,没有限制了。

Oracle编程

判断语句

循环语句

开启window控制台输出

set serveroutput on;

ed;  创建语句   /回车提交;

注意:假如我们没有输入 /  ,而是输成其他字符,按了回车后,就会把ed;窗口里面的所有历史数据清空。

输出单个值

declareiint:=1;  --定义变量i

begin

dbms_output.put_line(i);

end;

if语句

declareiint:=1;

begin

--dbms_output.put_line(i);

if(i=1)then

dbms_output.put_line('小冉');

else

dbms_output.put_line('小hi');

end if;

end;

加有elsif判断  (eleif 要连着写哦,还有少一个s)

declareiint:=1;

begin

--dbms_output.put_line(i);

if(i=1)then

dbms_output.put_line('小冉');

elsif(i=2)then

dbms_output.put_line('小白');

else

dbms_output.put_line('小hi');

end if;

end;

Loop循环

declareiint:=2;

begin

loop

dbms_output.put_line(i);

i:=i+1;

--循环退出的条件

exit wheni>20;

end loop;

end;

While循环

declareiint:=2;

begin

--循环退出的条件

whilei<=30

loop

dbms_output.put_line(i);

i:=i+1;

end loop;

end;

For循环

declareiint:=1;

begin

--循环退出的条件

foriin 1..10

loop

dbms_output.put_line(i);

end loop;

end;

注意:所有的循环都基于loop循环。

好啦,今天的内容就到这里了,喜欢可以收藏哦。

bcd59ac2c64fe76055d6a442bf746cea.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值