您的位置:首页 > 数据库 > Oracle

oracle学习笔记--pl/sql编程(基础)

2015-11-12 21:18 731 查看

一、基础

PL/SQL程序都是以块为基本单位,一个完整的PL/SQL块包括三部分:声明部分(以declare开头)、执行部分(以begin开头)、异常处理部分(以exception开头)。其中执行部分是必须的,其他两个部分可选。

声明部分以declare开头,到begin结束,在这部分可以声明PL/SQL块需要的常量、变量、游标等。当然他们的使用范围只限于当前的这个PL/SQL块。

执行部分以begin开头,执行部分是整个PL/SQL块的主体,主要的逻辑控制和运算都在这部分完成。

异常处理部分以exception开头,用于处理程序运行中出现的错误。
例:

declare
a int:=100;
b int:=200;
c number;
begin
c:=(a+b)/(a-b);
dbms_output.put_line(c);
exception
when zero_divide then
dbms_output.put_line('除数不能为零');
end;






代码中声明了三个变量a、b、c,把ab的和与ab差的上赋值给c并输出。

二、注释

注释分为单行注释和多行注释,单行注释以“--”开始,多行注释以“/*”开始,“*/”结束,中间为注释部分。

三、数据类型

1、数值类型:number、pls_integer、binary_integer,其中number可以储存整数和浮点数,pls_integer和binary_integer只能用来储存整数。同时,number有很多子类,所谓子类就是和number等价的类型的别名,这些子类主要包括dec、desimal、double、integer、int、numeric、smallint、binary_integer。

2、字符类型:varchar2、char、long、nchar、nvarchar2 。varchar2类型和数据库中的varchar2相似,由于储存可变长度字符串;char用于储存固定长度字符串(不指定最大长度的话默认为1字节);long表示一个可变字符串,最大长度是32767,而数据库中的long类型最大可达2G;nchar和nvarchar2的长度要根据各国的字符集来确定。

3、日期类型:日期只有一种类型date,储存空间为7个字节,每个字节分别用来储存:世纪、年、月、日、时、分、秒。

4、布尔类型:学过编程语言的都知道,Boolean类型主要用于程序的逻辑判断,变量值为:true、false和null。

(特殊数据类型)

5、%type:%type可以指定一个变量的类型与表中指定列的类型相同,它通常跟在列名的后面。

declare
ename_1 emp.ename%type;--声明与ename列类型相同的变量
eno emp.empno%type;--声明与empno类型相同的变量
begin
select empno,ename into eno,ename_1 from emp where empno=7369;
dbms_output.put_line(eno||' '||ename_1);
end;

6、record:recode表示的是一组数据类型,使用前需要先用type关键是定义改类型。
declare
type t is record(--定义数据类型
ename_1 emp.ename%type,
eno emp.empno%type);
t1 t;--定义变量
begin
select ename,empno into t1 from emp where empno=7369;
dbms_output.put_line(t1.eno||' '||t1.ename_1);
end;

其实这种类型就相当于java中的一个实体类,里面包含了多个成员变量。

7、%rowtype:这种数据类型相当于就是绑定了数据库表中一行的数据类型,即这一个变量能够储存一行记录。

declare
var_type emp%rowtype;
begin
select * into var_type from emp where empno=7369;
dbms_output.put_line(var_type.empno||' '||var_type.ename);
end;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: