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

来源:互联网 发布:淘宝夜色行内衣模特 编辑:程序博客网 时间:2024/06/11 10:53

一、基础

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;



0 0
原创粉丝点击