千家信息网

Oracle之PL/SQL编程_数据类型与定义变量和常量

发表于:2025-11-13 作者:千家信息网编辑
千家信息网最后更新 2025年11月13日,-----------------------------------基本数据类型-----------------------------------1.数值类型NUMBER(P,S)参数 P 表示
千家信息网最后更新 2025年11月13日Oracle之PL/SQL编程_数据类型与定义变量和常量

-----------------------------------基本数据类型-----------------------------------


1.数值类型

NUMBER(P,S)

参数 P 表示精度,参数 S 表示刻度范围。

精度是指数值中所有有效数字的个数,而刻度范围是指小数点右边小数位的个数。

"子类型" 是与 NUMBER 等价的类型别名。

子类型:DEC、DECIMAL、DOUBLE、INTEGER、INT、NUMERIC、SMALLINT、BINARY_INTEGER、PLS_INTEGER


2.字符类型

字符类型:VARCHAR2、CHAR、LONG、NCHAR、NVARCHAR2

这些类型的变量 用来存储字符串或字符数据。

VARCHAR2(maxlength)

参数 maxlength 表示可以存储字符串的最大长度,这参数值在定义变量时必须给出(因为 VARCHAR2 类型没有默认的最大长度),

参数 maxlength 的最大值可以是 32767 字节。

CHAR(maxlength)

参数 maxlength 的最大值可以是 32767 字节.

CHAR 类型默认最大长度为 1 字节。如果赋给 CHAR 类型变量的值不足 maxlength,则在其后边用 空格 补全。

3.日期类型

DATE


4.布尔类型

BOOLEAN

其变量值可以为 TRUE、FALSE、NULL 中的一种。



-----------------------------------特殊数据类型-----------------------------------


1. %TYPE 类型

使用 %TYPE 关键字可以声明一个与 指定列名称相同的数据类型,它通常紧跟在指定列的后边。

例:

声明一个与 emp 表中 job 列的数据类型完全相同的变量 var_job

declarevar_job emp.job%TYPE;


2. RECORD 类型,也叫"记录类型"

type record_type is record(var_member1 data_type [not null][:=default_value],...var_membern data_type [not null][:=default_value])


record_type:表示要定义的记录类型名称。

var_member1:表示该记录类型的成员变量名称。

data_type:表示成员变量的数据类型。


例:

声明一个记录类型 emp_type,然后使用该类型的变量存储 emp 表中的一条记录信息,并输出这条记录。

declaretype emp_type is record--声明 record 类型 emp_type(var_ename varchar2(20),--定义字段/成员变量var_job varchar2(20),var_sal number);empinfo emp_type;--定义变量beginselect ename,job,salinto empinfofrom empwhere empno=7369;/*输出雇员信息*/dbms_output.put_line('雇员'||empinfo.var_ename||'的职务是'||empinfo.var_job||'、工资是'||empinfo.var_sal);end;/

输出结果:

雇员SMITH的职务是CLERK、工资是2712.5


3. %ROWTYPE 类型

%ROWTYPE 类型的变量结合了 %TYPE 类型和 RECORD 类型变量的优点,它可以根据数据表中行的结构定义一种

特殊的数据类型,用来存储从数据表中检索到的一行数据。

rowVar_name table_name%rowtype;


rowVar_name:表示可以存储一行数据的变量名。

table_name:指定的表名。


例:

声明一个 %ROWTYPE 类型的变量 rowVar_emp,然后使用该变量存储 emp 表中的一行数据,并输出。

declarerowVar_emp emp%rowtype;--定义能够存储 emp 表一行数据的变量beginselect *into rowVar_empfrom empwhere empno=7369;/*输出雇员信息*/dbms_output.put_line('雇员'||rowVar_emp.var_ename||'的职务是'||rowVar_emp.var_job||'、工资是'||rowVar_emp.var_sal);end;/

输出结果:

雇员SMITH的职务是CLERK、工资是2712.5


-----------------------------------定义变量和常量-----------------------------------


1. 定义变量


<变量名> <数据类型> [(长度):=<初始值>];


例:

var_countryname varchar2(50):='中国';


2. 定义常量


<常量名> constant <数据类型>:=<常量值>;


例:

con_day constant integer:=365;



类型 变量 数据 存储 参数 雇员 输出 最大 字符 一行 工资 职务 长度 信息 名称 字节 成员 常量 特殊 相同 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 如何验证服务器可信 江西精选上位机软件开发 网络安全技术与实训电子书 as连接数据库 我的世界有尸潮服务器吗手机版 青岛存储服务器经销商 上海什么宝软件开发 金山区市场软件开发报价方案 计算机网络技术基础主编盛立军 浙江专业录播服务器哪家好 打印软件无法连接数据库 北京服务器搬运怎么选云主机 安徽服务器机箱工厂云空间云主机 四平直销软件开发 安徽软件开发郑重承诺 管理会计分析软件开发商 我的世界炸毁服务器的人 佳木斯向阳区网络安全大队 软件开发部门介绍范本 当数据库的恢复模式为 关于初中生网络安全的文章 新增考研专业网络安全 网络安全大赛怎么获得奖项 东丽区数据网络技术售后服务 软件开发测试男朋友爱称 文件服务器 负载均衡 网御网络安全审计 安徽服务器机箱工厂云空间云主机 我的世界服务器为啥总是高延迟 百度文库软件开发流程图
0