ORACLE中有针对逻辑的节制语句,这些语句在日常的存储过程、函数、、中应用比力普遍对其编程启着主要的感化,可以完当作营业逻辑的框架部门。
IF前提节制语句就是按照当前前提判定进入到哪一个步调中,当前提为真着进入一个流程,前提为假则进入别的一个流程。
IF语句中有三种利用体例:IF....、IF..ELSE..、IF...ELSEIF....。按照现实环境矫捷运用
IF....布局
语法:
IF condition THEN
statements;
END IF;
注释:IF.... 语句是最简单的布局体例,他只有一个IF语句,当condition 为真时,程序将会执行statements,当condition 为假时,将跳过这一段
例:计较9的6次幂是否大于50 0000,若是大于则输出信息
DECLARE
str1 number(10,0);
BEGIN
str1 := POWER(9,6);
IF str1>500000 THEN
DBMS_OUTPUT.PUT_LINE('9的6次幂大于50万,其成果是:'||str1);
END IF;
END;
代码解析:
第2行暗示声明一个类型为number(10,0)的标量 str1
第4行暗示给变量str1 赋值为9的6次方
第5-7行暗示判定,若是变量str1大于50万,则执行第6行数据,若是不知足则跳过第6行
语法:
IF condition THEN
statements1;
ELSE
statements2;
END IF;
注释:当condition 为真时,程序将会执行statements1,当condition 为假时,程序将会执行statements2
例:计较9的5次幂是否大于50 0000,输出其信息
DECLARE
str1 number(10,0);
BEGIN
str1 := POWER(9,5);
IF str1>500000 THEN
DBMS_OUTPUT.PUT_LINE('9的5次幂大于50万,其成果是:'||str1);
ELSE
DBMS_OUTPUT.PUT_LINE('9的5次幂小于50万,其成果是:'||str1);
END IF;
END;
代码解析:
第2行暗示声明一个类型为number(10,0)的标量 str1
第4行暗示给变量str1 赋值为9的5次方
第5-6行暗示判定,若是变量str1大于50万为真,则执行第6行数据
第7-8行对应第5-6行,若是变量str1大于50万为假,则执行
语法:
IF condition1 THEN
statements1;
ELSIF condition2 THEN
statements2;
...
[ELSE statements]
END IF;
注释:当condition1 为真时执行statements1
当condition1 为假时则判定condition2是否为真,为真时则执行statements2,为假时则执行后面的判定或者else或者退出
例:随机获取一个100--200的随机数,判定其地点的规模
DECLARE
STR1 NUMBER(10);
BEGIN
STR1 := DBMS_RANDOM.VALUE(100,200);
IF STR1>=100 AND STR1<130 THEN
DBMS_OUTPUT.PUT_LINE('STR1的值在100--130规模内');
ELSIF STR1>=130 AND STR1<160 THEN
DBMS_OUTPUT.PUT_LINE('STR1的值在130--160规模内');
ELSIF STR1>=160 AND STR1<190 THEN
DBMS_OUTPUT.PUT_LINE('STR1的值在160--190规模内');
ELSE
DBMS_OUTPUT.PUT_LINE('STR1的值在190--200规模内');
END IF;
END;
代码解析:
第2行:声明一个NUMBER型变量STR1
第4行:给STR1赋值一个随机数,规模是100-200之间
第5-6行:判定STR1是否大于100小于130,若是为真则输出第6行,为假则往下进行第7步判定
第7-10行:与上诉一样,前提为真则输出,前提为假则继续标的目的下判定
第11行:若是以上前提都为假,则输出12行信息
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!