欢迎来到千学网!
您现在的位置:首页 > 实用文 > 其他范文

pl\sql中流程控制方式

时间:2023-03-17 08:06:26 其他范文 收藏本文 下载本文

以下是小编为大家收集的plsql中流程控制方式,本文共3篇,欢迎参阅,希望可以帮助到有需要的朋友。

pl\sql中流程控制方式

篇1:pl\sql中流程控制方式

pl\sql中流程控制方式

Java代码

declare

username varchar2(20);

begin

select t.ename into username from emp t where rownum=1;

dbms_output.put_line(username);

end;

2 oracle 中case when 用法

Java代码

declare

age number(6,2); ----这里的六代表总长度,2代表小数点后面的长度

begin

age:=&myage;

case age

when 10 then

dbms_output.put_line('you have 10 year');

when 20 then

dbms_output.put_line('you have 20 year');

when 30 then

dbms_output.put_line('you have 3o year');

else

dbms_output.put_line('I donot know you age');

end case;

end;

3 oracle 中loop循环的用法

Java代码

declare

q number :=0;

begin

loop

q:=q+1;

dbms_output.put_line('q='||q);

exit when q=10;

end loop;

end;

4.loop循环中另外的一种退出方法

Java代码

declare

q number :=0 ;

begin

loop

q:=q+ 1;

dbms_output.put_line( 'q='||q);

if q=10

then

exit;

end if ;

end loop ;

dbms_output.put_line('hello i barek'); ---exit跳出后这句号会执行

end;

5.loop循环中另外的一种

Java代码

declare

q number := 8;

begin

while q < 100 loop

q := q + 1;

dbms_output.put_line( 'hello world good ');

end loop;

end;

6.loop 的for用法

Java代码

declare

q number := 8;

begin

for c in 1..10 loop --- 要想从10到1 要在 in 的后面加上 reverse

dbms_output.put_line('c is '||c);

dbms_output.put_line('hello world good ');

end loop;

end;

7.goto语句的用法

Java代码

declare

sal number ;

begin

select t.sal into sal from emp t where rownum=1 ;

if sal<0

then

goto a;

else

goto b;

end if;

dbms_output.put_line('this is a');

dbms_output.put_line('this is b');

end;

篇2:PL/SQL流程控制语句

跟在IN REVERSE 后面的数字必须是从小到大的顺序,而且必须是整数,不能是变量或表达式。可以使用EXIT退出循环。

例:使用循环语句打印 1 - 100.(三种方式)

1). LOOP ... EXIT WHEN ... END LOOP

declare--初始化条件v_i number(3) := 1;beginloop--循环体dbms_output.put_line(v_i);--循环条件exit when v_i = 100;--迭代条件v_i := v_i + 1;end loop;end;

2). WHILE ... LOOP ... END LOOP

declare--初始化条件v_i number(3) := 1;begin--循环条件while v_i <= 100 loop--循环体dbms_output.put_line(v_i);--迭代条件v_i := v_i + 1;end loop;end;

3).

beginfor i in 1 .. 100 loopdbms_output.put_line(i);end loop;end;

例: 综合使用 if, while 语句, 打印 1 - 100 之间的所有素数

(素数: 有且仅用两个正约数的整数, 2, 3, 5, 7, 11, 13, ...).

declarev_i int := 2;v_j int := 2;v_flag boolean := false;beginwhile v_i < 100 loopv_j := 2;while v_j

④标号和GOTO

PL/SQL中GOTO语句是无条件跳转到指定的标号去的意思。语法如下:

GOTO label;

. . . . . .

<

例:打印1——100的自然数,当打印到50时,跳出循环,输出“打印结束”

(方法一)

beginfor i in 1..100 loopdbms_output.put_line(i);if(i = 50) thengoto label;end if;end loop;<

(方法二)

beginfor i in 1..100 loopdbms_output.put_line(i);if(i mod 50 = 0) thendbms_output.put_line('打印结束');exit;end if;end loop;end;

篇3:PL/SQL流程控制数据库教程

PL/SQL程序中的流程控制语句借鉴了许多高级语言的流程控制思想,但又有自己的特点,

PL/SQL流程控制数据库教程

条件控制

下面通过实例介绍条件控制语句的使用。

1. if..then..end if条件控制

采用if..then..end if条件控制的语法结构如图9.15所示。

在【SQLPlus Worksheet】中执行下列PL/SQL程序,该程序判断两个整数变量的大小。 执行结果如图9.16所示。

DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

set serveroutput on

declare

number1 integer:=90;

number2 integer:=60;

begin

if number1>=number2 then

dbms_output.put_line('number1大于等于number2');

end if;

end;

DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

【配套程序位置】:第9章\ conditioncontrol1.sql。

2. if..then..else..end if条件控制

采用if..then..else..end if条件控制的语法结构如图9.17所示。

在【SQLPlus Worksheet】中执行下列PL/SQL程序,该程序判断两个整数变量的大小,输出不同的结果。执行结果如图9.18所示。

DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

set serveroutput on

declare

number1 integer:=80;

number2 integer:=90;

begin

if number1>=number2 then

dbms_output.put_line('number1大于等于number2');

else

dbms_output.put_line('number1小于number2');

end if;

end;

DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

【配套程序位置】:第9章\ conditioncontrol2.sql。

3. if嵌套条件控制

采用if嵌套条件控制的语法结构如图9.19所示。

在【SQLPlus Worksheet】中执行下列PL/SQL程序,该程序判断两个整数变量的大小,输出不同的结果。

执行结果如图9.20所示。

DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

set serveroutput on

declare

number1 integer:=80;

number2 integer:=90;

begin

if number1<=number2 then

if number1=number2 then

dbms_output.put_line('number1等于number2');

else

dbms_output.put_line('number1小于number2');

end if;

else

dbms_output.put_line('number1大于number2');

end if;

end;

DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

【配套程序位置】:第9章\ conditioncontrol3.sql。

循环控制

循环结构是按照一定逻辑条件执行一组命令,PL/SQL中有4种基本循环结构,在它们基础上又可以演变出许多嵌套循环控制,这里介绍最基本的循环控制语句。

1. loop..exit..end loop循环控制

采用loop..exit..end loop循环控制的语法结构如图9.21所示。

在【SQLPlus Worksheet】中执行下列PL/SQL程序,该程序将number1变量每次加1,一直到等于number2为止,统计输出循环次数。

DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

set serveroutput on

declare

number1 integer:=80;

number2 integer:=90;

i integer:=0;

begin

loop

number1:=number1+1;

if number1=number2 then

exit;

else

i:=i+1;

end if;

end loop;

dbms_output.put_line('共循环次数:'||to_char(i));

end;

DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

执行结果如图9.22所示,

【配套程序位置】:第9章\loopcontrol1.sql。

2. loop..exit..when..end loop循环控制

采用loop..exit..when..end loop循环控制的语法结构与图9.21所示结构类似。

exit when实际上就相当于

if 条件 then

exit;

end if;

在【SQLPlus Worksheet】中执行下列PL/SQL程序,该程序将number1变量每次加1,一直到等于number2为止,统计输出循环次数。

DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

set serveroutput on

declare

number1 integer:=80;

number2 integer:=90;

i integer:=0;

begin

loop

number1:=number1+1;

i:=i+1;

exit when number1=number2;

end loop;

dbms_output.put_line('共循环次数:'||to_char(i));

end;

DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

执行结果如图9.23所示。

【配套程序位置】:第9章\loopcontrol2.sql。

when循环控制结束条件比采用if的条件控制结束循环次数多1次。

3. while..loop..end loop循环控制

采用loop..exit..when..end loop循环控制的语法如下。

while 条件 loop

执行语句段;

end loop;

在【SQLPlus Worksheet】中执行下列PL/SQL程序,该程序将number1变量每次加1,一直到等于number2为止,统计输出循环次数。

DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

set serveroutput on

declare

number1 integer:=80;

number2 integer:=90;

i integer:=0;

begin

while number1

number1:=number1+1;

i:=i+1;

end loop;

dbms_output.put_line('共循环次数:'||to_char(i));

end;

DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

执行结果如图9.24所示。

【配套程序位置】:第9章\whilecontrol.sql。

4. for..in..loop..end循环控制

采用for..in..loop..end循环控制的语法如下。

for 循环变量 in [reverse] 循环下界..循环上界 loop

循环处理语句段;

end loop;

在【SQLPlus Worksheet】中执行下列PL/SQL程序,该程序通过循环变量I来控制number1增加次数,输出结果。执行结果如图9.25所示。

DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

set serveroutput on

declare

number1 integer:=80;

number2 integer:=90;

i integer:=0;

begin

for i in 1..10 loop

number1:=number1+1;

end loop;

dbms_output.put_line('number1的值:'||to_char(number1));

end;

DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

【配套程序位置】:第9章\forcontrol.sql。

网络经济时代企业的控制方式

sql语句经典

[翻译]SQL Injection Attack

程菲作文

以pl开头的单词各五个

SQL语句基础综合教程

控制近义词

程维的诗

《程一电台》经典语录

如何改进SQL Server安全系统

《pl\sql中流程控制方式(集锦3篇).doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式

点击下载本文文档