首先说序列:就是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 --循环
执行此句,会报错
原因:因为此序列创建之后,就不能更改起始值
想要取消最大值和不要重复循环;
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循环。
好啦,今天的内容就到这里了,喜欢可以收藏哦。