首先说序列:就是Oracle里没有自增id,所以需要序列+触发器定义表的id。
在Command +Window窗口 ed;命令 ,创建序列
创建序列1
create sequence seq
Sql+window窗口 查询序列
Select seq.nextval from dual;
注意:两个窗口需要登录同一用户进行操作哦。
创建序列2
create sequence seq2
start with 2 --开始
increament by 2 --每次增加多少
修改创建3
alter sequence seq2
maxvalue 50 --最大值 (可随时更改)
cycle --循环 (到最大值后会自动从头开始)
修改创建4
alter sequence seq2
start with 10 --起始值
maxvalue 70 --最大值
cycle --循环
执行此句,会报错
原因:因为此序列创建之后,就不能更改起始值
想要取消最大值和不要重复循环;
nomaxvalue --无最大值
nocycle --无循环
Sql+window查询序列
Select seq2.nextval from dual;
这样你每次查询就能永远自增,没有限制了。
Oracle 编程
判断语句
循环语句
开启window控制台输出
set serveroutput on;
ed; 创建语句 /回车提交;
注意:假如我们没有输入 / ,而是输成其他字符,按了回车后,就会把ed;窗口里面的所有历史数据清空。
输出单个值
declare i int:=1; --定义变量i
begin
dbms_output.put_line(i);
end;
if语句
declare i int:=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)
declare i int:=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循环
declare i int:=2;
begin
loop
dbms_output.put_line(i);
i:=i+1;
--循环退出的条件
exit when i>20;
end loop;
end;
While循环
declare i int:=2;
begin
--循环退出的条件
while i<=30
loop
dbms_output.put_line(i);
i:=i+1;
end loop;
end;
For循环
declare i int:=1;
begin
--循环退出的条件
for i in 1..10
loop
dbms_output.put_line(i);
end loop;
end;
注意:所有的循环都基于loop循环。
好啦,今天的内容就到这里了,喜欢可以收藏哦。