Oracle存储过程语法

1.运算符

分类                   运算符                    含义                    示例表达式

算术运算符        +                              加                      s := 2 + 2;

                          -                               减                      s := 3 – 1;

                          *                               乘                      s := 2 * 3;

                          /                                除                      s := 6 / 2;

                        mod(,)                        取模,取余        m : = mod(3,2)

                        **                                乘方                  10**2 =100   

关系运算符      =                                 等于                   s = 2

                       <>或!=或~=                 不等于                s != 2

                       <                                  小于                   s < 3

                      >                                   大于                   s > 0

                     <=                                 小于等于             s <= 9

                     >=                                 大于等于             s >= 1  

比较运算符   LIKE                             满足匹配为true‘li’ like ‘%i’返回true

                    BETWEEN                   是否处于一个范围中2 between 1 and 3 返回true

                    IN                                 是否处于一个集合中‘x’ in (‘x’,’y’) 返回true

                    IS NULL                       判断变量是否为空若:n:=3,n is null,返回false   

逻辑运算符  AND                             逻辑与               s=3 and c is null

                    OR                               逻辑或                s=3 or c is null

                   NOT                              逻辑非                not c is null   

其他            :=                                   赋值                   s := 0;

                    ..                                   范围                   1..9,即1至9范围

                   ||                                    字符串连接        ‘hello’||’world’ 


2.选择语句

1.if语句                                                                                                                                        IF s_sex=1 THEN                                                                                                                                 dbms_output.put_line('这个学生是男生');                                                                        ENDIF
2.if...else语句                                                                                                                            IF s_sex=1 THEN                                                                                                                              dbms_output.put_line('这个学生是男生');                                                                          ELSE                                                                                                                                                 dbms_output.put_line('这个学生是女生');                                                                            END IF


3.循环语句

a.基本循环                                                                                                                                 LOOP  IF 表达式 THEN                                                                                                                     EXIT;                                                                                                                                     END IFEND LOOP;                                                                                                            b.while循环                                                                                                                                 WHILE 表达式 LOOP                                                                                                                        dbms_output.put_line('haha');                                                                                             END LOOP;                                                                                                                              c.for循环                                                                                                                                     FOR a in 10 .. 20 LOOP                                                                                                                    dbms_output.put_line('value of a: ' || a);                                                                             END LOOP;


4.游标设定

a.下表是常用的游标属性:                                                                                                              属性                       描述                                                                                                     %FOUND              如果DML语句执行后影响有数据被更新或DQL查到了结果,返回true。否                                 则,返回false。

%NOTFOUND       如果DML语句执行后影响有数据被更新或DQL查到了结果,返回false。                                   否则,返回true。

%ISOPEN              游标打开时返回true,反之,返回false。

%ROWCOUNT      返回DML执行后影响的行数。 

b.使用游标                                                                                                                                    1.声明游标定义游标的名称和相关的SELECT语句:                                                                      CURSOR cur_cdd IS SELECT s_id, s_name FROM student;                                              2.打开游标游标分配内存,使得它准备取的SQL语句转换成它返回的行:                                    OPEN cur_cdd;                                                                                                                      3.抓取游标中的数据,可用LIMIT关键字来限制条数,如果没有默认每次抓取一条:                    FETCH cur_cdd INTO id, name ;                                                                                          4.关闭游标来释放分配的内存:                                                                                                       CLOSE cur_cdd; 

你可能感兴趣的:(Oracle存储过程语法)