PL/SQL的基本语法结构和案例演示
2017-10-26 20:57
441 查看
概述
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;
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;
相关文章推荐
- oracle PL/SQL的基本构成,块结构和基本语法要求,数据类型,变量定义,运算符和函数
- oracle(03): PL/SQL基本结构,语法,变量
- oracle PL/SQL的基本构成,块结构和基本语法要求,数据类型,变量定义,运算符和函数
- SQL的查询、添加、修改、删除基本语法结构
- ORACLE PL/SQL基本语法 触发器 存储过程
- oracle(02): PL/SQL基本概念,关系运算符,顺序结构,分支结构,循环结构
- PL/SQL学习(基本语法)
- 【Oracle】PL/SQL——基本语法,记录类型和控制流程
- Oracle_PL/SQL的基本写法_BEGIN_END块结构及简单的事务实现
- PL/SQL学习笔记一之语法结构!!!
- PL/SQL基本语法要素
- Oracle:PL/SQL基本语法
- oracle PL/SQL的基本构成,结构控制语句,分支结构,选择结构,loop循环结构,
- PL/SQL基本语法
- 《Oracle PL/SQL 完全自学手册》读书笔记 2.5 PL/SQL基本结构
- PL/SQL基本语法
- PL/SQL语法之if结构
- PL/SQL 基本语法
- pl/sql基本语法
- PL/SQL 基本语法