Oracle:PL*SQL 编程(一)
来源:互联网 发布:只有我知见面会完整版 编辑:程序博客网 时间:2024/06/06 13:17
块结构
PL/SQL块以正斜杠(/)结尾
例子:
--set serveroutput on --打开服务器输出,因为我是使用PL/SQL Developer,所以不需要这一行declare v_width integer;v_height integer := 2;v_area integer := 6;begin-- set the width equal to the area divided by the heightv_width := v_area / v_height;dbms_output.put_line('v_width = ' || v_width);exceptionwhen zero_divide thendbms_output.put_line('Division by zero');end;/
结果:
v_width = 3
变量和类型
在declare中声明变量:
例如:
v_width integer;
%TYPE关键字:
也可以通过%TYPE来定义变量的类型,这个关键字使用表中指定列相同的类型。
例如:这个变量的类型与test 表中的id类类型相同。
v_id test.id%TYPE;
条件逻辑例子:
declare v_message varchar2(100) ; v_count integer := 1; begin if v_count > 0 then v_message := 'v_count is postitive'; dbms_output.put_line(v_message); elsif v_count = 0 then v_message := 'v_count is zero'; dbms_output.put_line(v_message); else v_message := 'v_count is negative'; dbms_output.put_line(v_message); end if;end;
结果:
v_count is postitive
循环
简单循环:直到显式结束循环之前一直运行。
while循环:知道某个特定条件出现之前一直运行。
for循环:运行预先确定的次数
1.简单循环语法:
LOOP statements END LOOP;
EXIT WHEN语句在指定条件出现时结束循环。
例如 :
declare v_count integer := 0;begin loop v_count := v_count + 1; dbms_output.put_line('v_count = ' || v_count); EXIT WHEN v_count = 5; end loop;end;
结果:
v_count = 1v_count = 2v_count = 3v_count = 4v_count = 5
continue或 continue when语句结束循环的当前迭代。
declare v_count integer := 0;begin loop -- after the continue statement is executed, control returns here v_count := v_count + 1; if v_count = 3 then continue; end if; dbms_output.put_line('v_count = ' || v_count); EXIT WHEN v_count = 5; end loop;end;
结果:
v_count = 1
v_count = 2
v_count = 4
v_count = 5
2.while循环
declare v_count integer := 0;begin while v_count < 3 loop v_count := v_count + 1; dbms_output.put_line('v_count = ' || v_count); end loop;end;
结果:
v_count = 1v_count = 2v_count = 3
4.for循环
begin for v_count in 1..3 loop dbms_output.put_line('v_count = ' || v_count); end loop;end;
结果:
v_count = 1v_count = 2v_count = 3
v_count:没有进行显示声明,for循环在这种情况下会自动创建一个integer变量。
begin for v_count in reverse 1..3 loop dbms_output.put_line('v_count = ' || v_count); end loop;end;
结果:
v_count = 3v_count = 2v_count = 1
reverse:指定在每一次循环中循环变量都会递减。
阅读全文
0 0
- Oracle:PL*SQL 编程(一)
- oracle中pl/sql编程(一):
- Oracle PL/SQL编程
- oracle pl/sql 编程
- oracle pl/sql 编程
- ORACLE PL/SQL编程
- Oracle PL/SQL编程
- oracle-pl/sql编程
- Oracle PL/SQL编程
- Oracle PL-SQL(编程)
- PL/SQL编程(一)
- ORACLE PL/SQL编程详解之八(一)
- oracle PL/SQL编程手册
- Oracle PL/SQL 编程手册
- Oracle PL/SQL 编程手册
- ORACLE PL/SQL编程 触发器
- ORACLE PL/SQL编程 触发器
- Oracle的pl/sql编程
- 2017-11-08-UPDATE-BY-ZengWenFeng.sql
- 操作符
- 计算圆和长方形的面积
- HDOJ--1052Tian Ji -- The Horse Racing 贪心!!!
- Sublime Text 3 利用 Snippet 创建 Getter 和 Setter
- Oracle:PL*SQL 编程(一)
- const关键字
- 零起点学算法94——今年暑假不AC(贪心)
- 计算长方形和圆的面积
- BOOST多线程
- SQLAlchemy类的映射
- HDFS各节点常用端口
- (原创)数组与链表
- 递归