定义并使用变量
来源:互联网 发布:人丑还颜控 知乎 编辑:程序博客网 时间:2024/05/21 06:44
定义并使用变量
在编写PL/SQL程序时,可以使用标量类型、符合类型、参照类型和LOB类型等四种类型。
常用标量类型
VARCHAR2(n) 其数值的长度不应该超过4000字节
CHAR(N) 其数值的长度不应该超过2000字节
NUMBER(P,S)
DATE 其数据长度为固定长度(7字节)
TIMESTAMP 当显示TIMESTAMP变量数据时,不仅会显示日期,而且还会显示时间和上下午标记
LONG和LONGRAW LONG数据类型用于定义变长字符串,其字符串的最大长度为32760字节;LONG RAW数据类型用于定义变长的二进制数据,其数据最大长度为32760字节。
BOOLEAN 该数据类型是PL/SQL数据类型,表列不能采用该数据类型。
BINARY_INTEGER该数据类型是PL/SQL数据类型,表列不能采用该数据类型。
BINARY_FLOAT和BINARYDOUBLE
NVARCHAR2(n)
VARCHAR2(n)和NVARCHAR2(n)的区别:
NVARCHAR2 一个中文字当一个字符来处理。
VARCHAR2 一个中文字当两个字符来处理。
定义标量变量
v_enamevarchar2(10);
v_sal number(6,2);
v_sal2 number(6,2):=5.4;
使用%type属性
declare
v_enameemp.ename%type;
begin
end;
复合变量
PL/SQL记录
PL/SQL表
嵌套表
VARRAY
PL/SQL记录类似于高级语言中的结构体
declare
type emp_record_typeisrecord(empname emp.name%type , sal emp.sal%type , title emp.job%type);
--定义一个sp_record变量,这个变量类型是emp_record_type
sp_recordemp_record_type;
begin
select ename,sal,jobinto sp_recordfrom empwhere empno=7788;
dbms_output.put_line('员工名:'||sp_record.empname);
end;
PL/SQL表相当于高级语言中的数组。但PL/SQL中下表可以为负数,并且表元素的下表没有限制。
declare
type sp_table_typeistableof emp.ename%typeindexbybinary_integer;--下标是整数
sp_tablesp_table_type;
begin
select enameinto sp_table(0)from empwhere empno=7788;
cbms_output.put_line('员工名:'||sp_table(0));
end;
参照变量
游标变量 REF CURSOR
对象类型变量 REF obj_type
REF CURSOR
declare
--定义游标类型
type sp_emp_cursorisrefcursor;
--定义一个游标变量
test_cursorsp_emp_cursor;
v_enameemp.ename%type;
v_salemp.sal%type;
begin
--把test_cursor和一个select结合
open test_cursorforselect ename,salfrom empwhere deptno=&no;
--循环取出
loop
fetch test_cursorinto v_ename,v_sal;
--判断test_cursor是否为空
exitwhen test_cursor%notfound;
dbms_output.put_line('名字:'||v_ename ||'工资:'||v_sal);
endloop;
end;
LOB变量
LOB变量是指用于存储大批量数据的变量。Oracle将LOB分为两种:内部LOB和外部LOB。内部LOB包括CLOB,BLOB和NCLOB三种类型,它们的数值被存储在数据库中,并且支持事务操作(提交,回退,保存点)。
外部LOB只有BFILE一种类型,该类型的数据被存储在OS文件中,并且不支持事务操作。
CLOB/NCLOB用于存储大批量字符数据,BLOB用于存储大批量二进制数据,而BFILE则存储指向OS文件的指针。
- 定义并使用变量
- pl/sql 基础---定义并使用变量!
- 定义并使用变量,复合类型
- CSS中定义变量,并使用变量设置属性值
- pl/sql之定义并使用变量,复合类型
- pl/sql之定义并使用变量,复合类型
- sql 定义变量,使用变量
- struts2 页面定义变量并更新值
- Makefile中使用定义空格变量,并对其查找替换
- Oracle学习笔记(二十七)——定义并使用变量
- javascript使用感受-变量定义
- iOS之变量定义使用
- 使用bean标签定义变量
- 三、变量:shell变量的定义、使用、重命名、只读变量、删除变量、变量类型、特殊变量
- 如何在Ubuntu Scope中定义设置变量并读取
- 头文件定义并初始化变量的问题
- extern变量定义及使用方式实例
- 双重指针变量的定义和使用
- PL/SQL块分类
- 大话设计模式——外观模式(C++顾客抵押系统)
- login 登录页面(别小看这个页面在公司很有讲究的!昨天晚上熬夜写的)
- PAT1010. 一元多项式求导
- MySQL数据库最大连接数
- 定义并使用变量
- Placement New的使用的完整总结版
- QT4 初学者软件安装和配置
- uip UDP 服务器广播模式(客户端可以任意端口,并且主动向客户端发送数据)
- Maven中pom.xml的配置和标签说明
- 关联函数lrs_save_param
- sdut2144图结构练习——最小生成树
- 丰哥的presentation
- jqm选项卡开发,底部标签式设计,jqm模仿iPhone手机桌面菜单,jqm实战开发,jqm开发例子Demo