10.1OraclePL_SQL基础&变量声明
2016-07-03 13:41
447 查看
PL/SQL是什么
PL/SQL是结合了Oracle过程语言和结构化查询语言(sql)的一种扩展语言。
PL/SQL简介
PL/SQL是一种块结构语言,它将一组语句放在一个块中。PL/SQL块将逻辑上相关的声明和语句组合在一起。
匿名块是一个围在数据块中命名的PL/SQL快,在运行时被传递到PL/SQL引擎以便执行。
注:
1.在PL/SQ块中可以使用SELECT、INSERT、UPDATE、DELETE等DML语句、事务控制语句以及SQL函数等。
2.PL/SQL中不允许直接使用CREATE、DROP、ALTER、等DDL语句。
PL/SQL块的结构:
[DECLARE]
声明部分:在此声明的PL/SQL用到的变量、类型以及游标,以及局部的存储过程和函数。
BEGIN
执行部分:过程以及SQL语句,即程序的主要部分
[EXCEPTION]
异常处理部分:错误处理
END; --注意分号
运算符
一般运算符
:= 赋值运算符
=> 关系号
.. 范围运算符
|| 字符连接符
逻辑运算符
IS NULL 是空值
BETWEEN AND 介于两者之间
IN 在一列值之间
AND 逻辑与
OR 逻辑或
NOT 取反,如IS NOT NULL, NOT IN
变量命名方法
常量和变量的声明
语法:
var_name date_type[(size)] [:=init_value]; //声明变量
var_name CONSTANT date_type[(size)] [:=init_value]; //声明常量
例:
v_ename VARCHAR2(20) := '值'; //声明一个v_ename的变量名,并且赋值为 '值' ;
变量赋:
1.在声明变量的时候赋值,如上面的实例。
2.在执行部分使用SELECT INTO赋值。
如:SELECT ename INTO v_ename FROM EMP WHERE empno = '7789';
ename:为表中的列名
v_ename:为变量名
注:
1.在赋值时,表的列名要与赋值顺序名一样
2.必须查询出来的记录是一条,才能赋值,否则会出错。
PL/SQL是结合了Oracle过程语言和结构化查询语言(sql)的一种扩展语言。
PL/SQL简介
PL/SQL是一种块结构语言,它将一组语句放在一个块中。PL/SQL块将逻辑上相关的声明和语句组合在一起。
匿名块是一个围在数据块中命名的PL/SQL快,在运行时被传递到PL/SQL引擎以便执行。
注:
1.在PL/SQ块中可以使用SELECT、INSERT、UPDATE、DELETE等DML语句、事务控制语句以及SQL函数等。
2.PL/SQL中不允许直接使用CREATE、DROP、ALTER、等DDL语句。
PL/SQL块的结构:
[DECLARE]
声明部分:在此声明的PL/SQL用到的变量、类型以及游标,以及局部的存储过程和函数。
BEGIN
执行部分:过程以及SQL语句,即程序的主要部分
[EXCEPTION]
异常处理部分:错误处理
END; --注意分号
运算符
一般运算符
:= 赋值运算符
=> 关系号
.. 范围运算符
|| 字符连接符
逻辑运算符
IS NULL 是空值
BETWEEN AND 介于两者之间
IN 在一列值之间
AND 逻辑与
OR 逻辑或
NOT 取反,如IS NOT NULL, NOT IN
变量命名方法
标识符 | 命名规则 |
程序变量 | v_name |
程序常量 | c_name |
游标变量 | cursor_name |
异常标识 | e_name |
表类型 | name_table_type |
表 | name_table |
记录类型 | name_record |
绑定变量 | g_name |
语法:
var_name date_type[(size)] [:=init_value]; //声明变量
var_name CONSTANT date_type[(size)] [:=init_value]; //声明常量
例:
v_ename VARCHAR2(20) := '值'; //声明一个v_ename的变量名,并且赋值为 '值' ;
变量赋:
1.在声明变量的时候赋值,如上面的实例。
2.在执行部分使用SELECT INTO赋值。
如:SELECT ename INTO v_ename FROM EMP WHERE empno = '7789';
ename:为表中的列名
v_ename:为变量名
注:
1.在赋值时,表的列名要与赋值顺序名一样
2.必须查询出来的记录是一条,才能赋值,否则会出错。
相关文章推荐
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- Oracle Containers for J2EE远程安全漏洞(CVE-2014-0413)
- Oracle 10g R2不能使用EM的问题
- 表空间操作
- PreparedStatement中in子句的处理
- VMware下RedHat4.8_64位安装Oracle 10g RAC--简略脚本
- oracle sql日期比较
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- OS block size和Oracle block size,查找OS Blocksize的方法
- oracle中创建数据库和表空间的几点总结
- 数据库自动备份脚本
- oracle的nvl函数的使用介绍
- 解决oracle用户连接失败的解决方法
- oracle的一些tips技巧
- Oracle 下的开发日积月累
- Oracle存储过程之数据库中获取数据实例
- Windows下ORACLE 10g完全卸载的方法分析
- Oracle 函数大全[字符串函数,数学函数,日期函数]第1/4页
- ORACLE LATERAL-SQL-INJECTION 个人见解