oracle中PL/SQL详解(一)
来源:互联网 发布:ssh酒店管理系统源码 编辑:程序博客网 时间:2024/05/18 18:16
PL/SQL编程
PL/SQL是oracle的专用语言,它对标准的SQL语言的扩展.SQL语句可以嵌套在PL/SQL语言中,并结合处理语句。
PL/SQL程序结构
使用了程序块的结构组织的代码.最简单的程序块是一种被称为”匿名块”的程序块,匿名块是指不会被oracle存储并且不能够重用程序块。
PL/SQL程序通常包括3部分:Declare部分、exception部分、Begin和end部分.
Begin和end是PL/SQL的必须部分,总是begin开始end结束.
Declare部分包含定义变量、常量和游标等类型的代码.
Begin与end之间可以嵌套begin与end及exception.
//打开服务器的输出
SQL> set serveroutput on;
SQL> begin //开始
2 dbms_output.put_line('Hello World');
3 end;
4 /
变量与常量的声明:
变量名 类型(字符,日期,数字,布尔)[:=缺省值];
常量名 constant 类型(字符,日期,数字,布尔) [:=缺省值];
变量与常量的区别:
变量可以在任何部分进行赋值.
而常量在declare中声明并且赋值.
注意:都是在declare中声明
几种声明变量的方法:
Var1 char(15);
Married Boolean :=true;
Psal number(7,2);
My_name emp.ename%type;
Emp_rec emp%rowtype;
记录变量分量的引用
Emp rec.ename:=’ADAMS’;
正确的操作:
declare
pagesize constant number(2) :=10;
begin
dbms_output.put_line(pagesize);
end;
/
作用域:
是能够引用变量名称这样的标识符的程序块。
declare
pagesize number(2):=10; //在整个中都有效
begin
dbms_output.put_line(pagesize);
declare
pagesize number(2):=99; //只是在内容声明部分到end结束有效
begin
dbms_output.put_line(pagesize);
end;
end;
/
//声明一个整型的变量
SQL> declare
2 age number(2);
3 begin
4 age:=90;
5 dbms_output.put_line(age);
6 end;
7 /
//声明后直接赋值
SQL> declare
2 age number(2) :=90;
3 begin
4 dbms_output.put_line(age);
5 end;
6 /
//捕获异常处理
SQL> declare
2 age number(2);
3 begin
4 age :='qwe'
5 ;
6 exception
7 when others then
8 dbms_output.put_line('赋值失败');
9 end;
10 /
条件判断语句
有if与case语句
If语句
If语法
If(expression1)then pl/sql_statement
Else
Pl/sql_statement;
End if;
If(expression1)then pl/sql_statement
Else if(expression2)
Pl/sql_statement;
Else
Pl/sql_statement;
End if;
Case语句
从oracle9i以后引入
Case <selector>
When <expression1> then pl/sql_statement1;
When <expression2> then pl/sql_statement2;
…….
[else pl/sql_statement;]
End;
//案例
declare
pnum number:=10;
begin
if pnum>10 then
dbms_output.put_line('变量值大于10');
elsif pnum=10 then
dbms_output.put_line('变量值等于10');
else
dbms_output.put_line('变量值小于10');
end if;
end;
//第一步先运行输入
accept num prompt '请输入一个数字';
第二步:
declare
pnum number:=#
begin
if pnum>10 then
dbms_output.put_line('变量值大于10');
elsif pnum=10 then
dbms_output.put_line('变量值等于10');
else
dbms_output.put_line('变量值小于10');
end if;
end;
SQL> declare score number(2) :=80;
begin
if score>70 then dbms_output.put_line('成绩合格');
end if;
end;
/
SQL> declare score number(2) :=80;
begin if score>90 then dbms_output.put_line('成绩合格');
else dbms_output.put_line('成绩不合格');
end if;
end;
/
成绩不合格
SQL> declare score number(2):=8;
begin
case score
when 9 then dbms_output.put_line('成绩优秀');
when 8 then dbms_output.put_line('成绩亮');
end case;
end;
/
循环语句
最基本的循环称为无条件循环,如果没有指定exit语句,循环将无条件执行,这种循环称为死循环,死循环尽量避免。
语法格式如下:
Loop
---statement---
Exit when condition
End loop;
案例:
SQL> declare
i number(2):=1;
begin
loop
dbms_output.put_line(i);
i:=i+1;
exit when i>10;
end loop;
end;
/
While循环
语法:
While condition
Loop
Statement;
End loop;
SQL> declare
i number(2):=1;
begin
while i<10
loop dbms_output.put_line(i);
i:=i+1;
end loop;
end;
/
For循环
For loop_control_variable in [reverse] lower upper loop
Statement;
End loop;
SQL> begin
for i in 1..10
loop
dbms_output.put_line(i);
end loop;
end;
/
- 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 の 一
- Oracle:PL*SQL 编程(一)
- ORACLE PL/SQL编程详解
- ORACLE PL/SQL编程详解
- Oracle中PL/SQL单行函数和组函数详解
- Oracle中PL/SQL单行函数和组函数详解
- 在PL/SQL中调用Oracle ERP请求(一)-提交单个请求
- Oracle中PL/SQL概述
- ORACLE PL/SQL编程详解之一:PL/SQL 程序设计简介
- dotnetCharting.WinForms 7.0 破解
- Windows Phone 读取文本文件
- 从玩扑克到软件开发
- 对面向对象设计原则的总结
- 第五周任务2:构造分数“类”
- oracle中PL/SQL详解(一)
- Oracle中光标的使用和异常
- 如何更改c#项目的App.config文件
- 存储过程和存储函数的简单应用举例
- Java日期格式化及其使用例子收集 SimpleDateFormat担当重任,怎样格式化都行
- 第一次的Java编程作业
- struts1的工作原理
- oracle 中pl/sql详解(二)
- 软件开发的“三重门”