易截截图软件、单文件、免安装、纯绿色、仅160KB

关于plsql中的define变量以及Oracle变量分类小结

关于plsql中的define变量以及Oracle变量分类小结
2009-07-29 15:18
先记载刚困扰我的一个问题,最近学习plsql,由于所用学习书籍后面提供题目常用到define变量,但由于这一变量的使用特殊性,自己便寻思这一变量所书类别,Oracle提供的变量分类共有四类:
1)标量(scalar)类型
2)复合(composite)类型
3)参照(reference)类型
4)LOB(large object)类型
这四类中并没有与只匹配的分类,在网络上查找才发现它属于第五类(另类:))——非plsql类变量。
define变量:主要应用于SQL*pls以及类似于sql*plus的开发工具中,主要用于于用户交互。
定义格式:
define p_variable_name = 500 -- 此时直接将500 assign给p_variable_name,不会弹出对话框提示用户输入
define p_variable_name -- 变量未赋值,弹出对话框提示用户输入值
使用格式:
select department_id into v_dept from emp where employee_id=& p_variable_name;
现将网上一篇关于变量分类的总结文章转帖如下。
原贴出处:http://superman-chenzs.itpub.net/post/29327/272479
1、标量类型:
- 只能存放单个数值的变量
- 定义时,必须要指定标量的数据类型
1.1常用标量类型
(1)VARCHAR2(n)
定义可变长度的字符串
n指定字符串最大长度
n最大值是32767字节
使用时必须指定长度
当在PLSQL块钟使用该数据类型操纵VARCHAR2表列时,起数值长度不应超过4000字节
(2)CHAR(n)
定义固定长度字符串
n指定字符串的最大长度
n最大值是32767自己
使用时指定长度,若没指定,则使用默认值1
当在PLSQL块钟使用该数据类型操纵CHAR2表列时,起数值长度不应超过2000字节
(3)NUMBER(p,s)
定义固定长度的整数和浮点数
p表示精度,用于指定数字的总位数
s表示标度,用于指定小数点后的数字位数
(4)DATE
定义日期和数据数据
(5)BOOLEAN
定义布尔变量
值为:TRUE、FALSE、NULL
为PLSQL独有数据类型,表列不能采用该数据类型
NULL表示missing、inapplicable或者unknown
(6)LONG和LONG ROW
long:数据类型用于定义变长字符串,类似于VARCHAR2数据类型,但其字符串的最大长度为32760字节
long row:数据类型用于定义变长的二进制数据,其数据最大长度为32760字节
(7)BINARY_INTEGER
定义整数
数值范围-2147483647和2174483647之间
(8)BINARY_FLOAT和BINARY_DOUBLE
BINARY_FLOAT定义单精度浮点数(oracle 10g新增加)
BINAR


相关文档:

oracle 9i升级到oracle9208数据库

背景:在windows2003server上安装了Oracle9.2.0.1.0,现打算将其升级到9.2.0.8版本,并打上最新的安全补丁April2008版。
1.升级oracle(administrator用户权限)
  (1)到metalink下载升级压缩包,patch号为4547809,压缩包名称为 p4547809_92080_WINNT.zip,for windows 32bit。
  (2)解压缩zip,下边包含一个 ......

oracle表分区详解


http://tianzt.blog.51cto.com/459544/171759   仅仅供自己学习之用
此文从以下几个方面来整理关于分区表的概念及操作:
        1.表空间及分区表的概念
        2.表分区的具体作用
        3 ......

Oracle异常问题解决方案


1. 在打开Enterprise Manager Consol时报错: "找不到目标主机";
【解决方案】该问题在使用Ghost制作的系统中常见, 出错原因是Oracle中配置的主机名
 和实际的主机名不一致. 解决方法如下: 
 (1) Enterprise Manager Consol -> 工具菜单 ->服务管理 -> Oracle Net Manager;
 (2) 将"本地 ......

北大青鸟oracle学习笔记25

过程中的事务
定义过程p1
create or replace procedure p1
as
begin
insert into student values(5,'xdh','m',sysdate);
rollback;
end;
定义过程p2
create or replace procedure p2
as
begin
update student set stu_sex = 'a' where stu_id = 3;
p1;
end;
执行过程p2

exec p2;
执行完毕发现 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号