博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自学PL/SQL 第一讲decalring variables
阅读量:6681 次
发布时间:2019-06-25

本文共 2354 字,大约阅读时间需要 7 分钟。

本讲课程目标:

1.了解基本的PL/SQL块和结构
2.描述变量的在PL/SQL中的重要性
3.声明变量和执行PL/SQL块

一:PL/SQL的块结构

 
  1. DECLARE (Optional)  
  2.   Variables, cursors, user-defined exceptions  
  3. BEGIN (Mandatory)  
  4.   SQL statements  
  5.   PL/SQL statements  
  6. EXCEPTION (Optional)  
  7.   Actions to perform when errors occur  
  8. END; (Mandatory) 

 在begin区内的sql和pl/sql语句都需要以';'号结束,DECLARE,BEGIN,EXCEPTION关键字后面不需要跟';'号,END关键字则需要。PL/SQL的块类型主要有匿名(anonymous),过程(procedure)和函数(function),函数需要定义返回

二:变量的特点

Temporary storage of data
Manipulation of stored values
Reusability
Ease of maintenance

在PL/SQL中声明变量,可以在declare和begin区对变量进行声明,在begin区定义的变量可以覆盖之前定义的变量;变量的输出有IN,OUT,IN OUT三种类型

Declare and initialize variables in the declaration section.
Assign new values to variables in the executable section.
Pass values into PL/SQL blocks through parameters.
View results through output variables.

变量的类型:

PL/SQL variables
Non-PL/SQL variables: Bind and host variables(用在sqlplus和isqlplus环境下)
所有的PL/SQL变量都有相应的数据类型,数据类型指定存储格式,约束和可用的值范围;PL/SQL变量支持的数据类型有:scalar, composite, reference, LOB

三:声明变量

语法:identifier [CONSTANT] datatype [NOT NULL] [:= | DEFAULT expr];
变量声明的指导原则
1.统一的命令规范,变量名尽量以v_开头,要避免变量名和字段名相同,否则变量将会优先被解释成字段运行
变量名不能超过30个字节,需要以字母开头
2.一行定义一个变量
3.需要初始化的变量定义not null和constant
4.对变量进行赋初始值使用':='或者default保留字

示例:

 
  1. SQL> set serveroutput on  
  2. SQL> declare  
  3.   2  v_hiredate DATE;  
  4.   3  v_deptno number(2) not null :=10;  
  5.   4  v_location varchar2(10) default 'fuzhou';  
  6.   5  c_comm constant number :1400;  
  7.   6  begin  
  8.   7  select hire_date into v_hiredate from hr.employees where employee_id=100;  
  9.   8  dbms_output.put_line('The hire_date is '||v_hiredate);  
  10.   9* end;  
  11. SQL> /  
  12. The hire_date is 1987-06-17-00:00:00   
  13. PL/SQL procedure successfully completed 

CONSTANT表示变量为固定变量,必须指定初始值;%TYPE属性可以指定变量的类型同基表的数据类型一致,这样可以避免将代码写死

绑定变量示例:调用绑定变量的时候需要加':'号

 
  1. SQL> variable v_salary number  
  2. SQL> begin  
  3.   2  select salary into :v_salary  
  4.   3  from hr.employees where employee_id=100;  
  5.   4  dbms_output.put_line('The result is '||:v_salary);  
  6.   5  end;  
  7.   6  /  
  8. The result is 100000  
  9. PL/SQL procedure successfully completed. 

替换变量示例:定义替换变量使用define命令,调用替换变量使用'&'符号

 
  1. SQL> define v_emp_id = 100 
  2. SQL> variable v_salary number  
  3. SQL> set verify off  
  4. SQL>  begin  
  5.   2  select salary into :v_salary  
  6.   3   from hr.employees where employee_id=&v_emp_id;  
  7.   4  dbms_output.put_line('The emp_id is '||&v_emp_id);  
  8.   5  dbms_output.put_line('The salary is '||:v_salary);  
  9.   6* end;  
  10. SQL> /  
  11. The emp_id is 100  
  12. The salary is 100000  
  13. PL/SQL procedure successfully completed. 

 

转载地址:http://muxao.baihongyu.com/

你可能感兴趣的文章
istio 监控,遥测 (理论)
查看>>
修改Windows Server 2008远程桌面连接端口
查看>>
Android获取指定目录下的文件代码
查看>>
新疆之春(二)魂牵梦绕赛里木湖
查看>>
Linux一键安装Aria2+Yaaw+FileManager实现BT磁力下载,并在线查看/观看
查看>>
安装wxPHP后,apache无法启动
查看>>
我的友情链接
查看>>
GitOSC和GitHub上传项目
查看>>
Linux学习记录-2015-08-20--常用命令1
查看>>
【动态规划】0-1背包问题原理和实现
查看>>
在Word 2007文档表格中设置行高度和列宽度
查看>>
android:layout_gravity和android:gravity
查看>>
关于MYSQL的一些命令
查看>>
SCCM 2016 为客户端分发管理组件Configuration Manager(一)
查看>>
交换机SPAN功能配置
查看>>
Restful学习随笔
查看>>
CurrentRowColor 选中行 颜色改变
查看>>
内容溢出显示省略号
查看>>
更改matlab默认工作路径
查看>>
JavaScript 书籍推荐(转)
查看>>