大家好,我是考100分的小小码 ,祝大家学习进步,加薪顺利呀。今天说一说存储过程和函数 oracle「建议收藏」,希望您对编程的造诣更进一步.
declare
begin
dbms_output.put_line(“Hello World”);
end;
declare
i number := 10;
begin
if i > 5 then
dbms_output.put_line(“OK”);
end if;
end;
–loop循环
declare
i number := 1;
begin
loop
dbms_output.put_line(“OK”);
exit when i=10;
i:=i+1;
end loop;
end;
–while 循环
declare
i number :=1;
begin
while i<10 loop
dbms_output.put_line(“我说了算”);
i:=i+1;
end loop;
end;
— 1-100之间所有的偶数
declare
i number := 1;
begin
while i <= 100 loop
if mod(i, 2) = 0 then
dbms_output.put_line(i);
end if;
i := i + 1;
end loop;
end;
–智能循环 for循环
declare
begin
for i in 1 .. 10 loop
dbms_output.put_line(i);
end loop;
end;
declare
x number:=1;
y number:=1;
begin
while x<=10 loop
dbms_output.put_line(“—–>”||x);
y:=1;
while y<=5 loop
if x=7 and y=3 then
exit;
end if;
dbms_output.put_line(y);
y:=y+1;
end loop;
x :=x+1;
end loop;
end;
–存储过程定义的
create procedure getMax(x number,y number)
is
begin
if x>y then
dbms_output.put_line(“X:”||x);
else
dbms_output.put_line(“Y:”||y);
end if;
end;
–调用存储过程
在PL/SQL中的SQL window中可以执行的
call getMax(2,5);
begin
getMax(7,3);
end;
在PL/SQL中的SQL window中不可以执行的
execute getMax(4,7)
exec getMax(8,5);
create or replace procedure getMax(x number :=1,y number:=2)
is
begin
if x>y then
dbms_output.put_line(“X:”||x);
else
dbms_output.put_line(“Y:”||y);
end if;
end;
call getMax();
–存储过程的参数
–编写一个存储过程,比较第一个参数和第二个参数,将最大的值存储在第三个参数中
create or replace procedure getMax(x number,y number,z out number)
is
begin
if x>y then
z:=x;
else
z:=y;
end if;
end;
declare
da number;
begin
getMax(110,3,da);
dbms_output.put_line(da);
end;
–存储过程类似java中的方法,但不是,因为没有返回值,
–函数就是java中的方法,具有返回值的。 两者的区别就是有无返回值
create or replace function getCountMax(x in out,y in out number) return number
is
begin
if x>y then
dbms_output.put_line(x);
y:=x+y;
return x;
else
dbms_output.put_line(y);
y:=x+y;
return y-x;
end if;
end;
select getCountMax(5,7) from dual;
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/9387.html