PL/SQL基本语法结构及案例

概述

pl/sql(procedure language/sql) procedure language是过程化语言,语言,变量赋值,执行判断,sql :sql语句,指在sql命令语言中增加了过程处理语句(分支,循环),使sql语句具有过程处理的能力,把sql语言的数据操作能力与过程语言的数据处理结合起来.使用plsql面向过程但要比过程语言简单,高效,灵活的应用

1:基本语法结构

//

[declare

–声明变量

]

begin

–代码逻辑

[exception

–异常处理

]

end;

2:语法结构解释

2.1:声明变量

变量名 类型(长度);

2.2:变量赋值

变量名:=变量值 //注意有冒号

案例一:给一个字符类型赋值

declare

v_name varchar2(10);

begin

v_name:=’张三’;

–dbms 是一个包,调用output方法,

dbms_output.put_line(v_name);

end;

案例二:常用变量的用法

/*声明变量水费单价、水费字数、吨数、金额。对水费单价、字数、进行赋值 。吨数根据水费字数换算,规则为水费字数除以1000,并且四舍五入,保留两位小数。计算金额,金额=单价*吨数。输出单价 、数量和金额*/

declare

–定长度,精确到2位

v_price number(10,2);

v_usenum number;

v_usenum2 number(10,2);

v_money number(10,2);

— v_num0 number; –上月水表

— v_num1 number; –本月水表

begin

v_price:=2.45;

v_usenum:=8012;

–字数换算成吨数

v_usenum2:=round(v_usenum/1000,2);

–round(value,precision) 按precision精度四舍五入

–计算出水费金额

v_money:=round( v_price*v_usenum2,2);

–内置了一个存储过程,用于输出内容

dbms_output.put_line(‘单价:’||v_price||’金额:’||v_money||’吨数:’|| v_usenum2);

end;

案例三:select into 方式赋值

语法结构:

select 列名 into 变量名 from 表名 where 条件

其结果必须是一条记录,有多条记录或者没有记录都会报错

–使用select into 进行赋值

declare

–定长度,精确到2位

v_price number(10,2);

v_usenum number;

–添加了两条数据v_num0和v_num1 //必须声明要添加的变量

v_num0 number; –上月水表

v_num1 number; –本月水表

v_usenum2 number(10,2); –使用吨数字

v_money number(10,2); –水费

begin

v_price:=3.45;

select usenum,num0,num1 into v_usenum,v_num0,v_num1 from t_account

where year=’2012′ and month=’01’ and owneruuid=1;

//判断条件

–字数换算成吨数

v_usenum2:=round(v_usenum/1000,2);

–round(value,precision) 按precision精度四舍五入

–计算出水费金额

v_money:=v_price*v_usenum2;

–内置了一个存储过程,用于输出内容

dbms_output.put_line(‘本月水表数:’||v_num1||’上月水表数:’||v_num0||’单价:’||v_price||’金额:’||v_money||’吨数:’||v_usenum2);

end;

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐