pl sql

来源:互联网 发布:大学 知乎 编辑:程序博客网 时间:2024/06/16 21:28

一、什么是pl sql

 pl procedural language sql 带有过程的sql语句

--打开输出流

set serverout on;

二、pl sql块的基本组成

DECLARE

 声明部分

BEGIN

编写主题

EXCEPTION

捕获异常

END;

/

'/'这个符号必须有 用于结束以上那段话

三、 pl sql定义变量

变量以v_ 开头

例如v_name:='myname';

输出语句:dbms_output.put_line(v_name);

声明变量的原则:

1.不能用保留字

2.第一个字符必须是字母

3.变量名最多包含30个字符

4.不要与数据库的表或者列同名

5.每一行只能声明一个变量

变量的基本类型

1.基本类型

2.引用类型

<1>binary_integerl 二进制位整数  一般用于计数

<2>number 数字类型

number(7,2) 一共七位数,小数点后两位,其余五位

<3>定长字符串

sal 最长2000 pl sql 最长32767

<4>varchar2 变长字符串

sal 最长4000 pl sql 最长32767

<5>long

长字符串  最长2GB

<6> date 日期

<7> boolean 布尔型 可以 取值true  false 或null值

注意:oracle不能打印布尔型(参数类型错误)

3.复合类型

 <1>%type字段类型

好处:便于维护

<2>table 数组类型

<3>record自定义记录类型

相当于java里的类。。自定义类型

<4>rowtype记录类型

 使用rowtype声明 record变量:记录类型、行类型

好处:可维护

3v_flag boolean;默认值为null

如果想打印出来就用if else 来判断

declare

v_flag boolean:=flase;

begin

if(v_flag=flase) then

dbms_output.put_line('flase');

end if;

end;

/

四、捕获异常

EXCEPTION

WHEN OHERS then

dbms_output.put_line('error');

end;

异常类型:

zero_divid;除数为0的异常

五、游标的使用

1.什么时候用游标?

如果查出来记录只有一条,可以直接select*into 如果是多条数据,使用游标遍历

2.游标:一种pl/sql控制结构:可以对sql语句处理进行显示控制,便于对表的行数据逐条进行处理

操作步骤:

<1>声明游标

<2>打开游标,每fetch一次往下移动一条记录

<3>取出结果,此时的结果取出的是一行数据

<4>关闭游标

3.声明游标

declare

cursor c is

   select * from  emp;

  v_emp emp%rowtype;

begin

open c;

loop

fetch c into v_emp;

exit when (c%notfound);

dbms_output.put_line(v_emp.ename);

end loop;

close c;

end;

 

 

 

原创粉丝点击