plsql数据类型

一、基础数据类型

类型说明(racle SQL 定义的数据类型)
varchar2(长度)可变长度字符串,最长为32767 字节,必须指定长度
NUMBER(精度,小数)既可以存储浮点数,也可以存储整数,p 表示数字的最大位数,s 是指小数位数
DATE存储日期和时间,存储纪元
TIMESTAMP存储日期的年月日,时分秒,以及秒后 6 位,同时包含时区
CHAR(长度)存储固定长度的字符串,小于长度用空格代替,默认长度是 1,最长不超过 2000 字节

二、属性数据类型

当声明变量是数据库的某行或某列,可直接使用属性数据类型,分别为%type和%rowtype

% ROWTYPE:直接引用数据库的一行作为数据类型,即记录类型,可用.访问记录的属性

declare
mysql my%rowtype
begin 
select * into mysql from my where sql_Id='1';
dbms_output.put_line(mysql.sql_id||'的名字是'||mysql.sql_name);
end;

代码解析
1.声明一个mysql对象,该对象表示my表中的一行;
2.从my表中查询一条记录放在mysql对象中
3.访问该对象属性用.。

常用于plsql代码需经常访问数据库的多列数据,减少变量声明

(2)%type:引用某个变量或者数据库的列的类型作为某个变量的数据类型

declare
insal emp.sal%type;
begin
select sal into insal from emp where empno='2022';
dbms_output.put_line(insal);
end; 

(3)record 自定义数据类型,可由一个数据类型囊获多个变量数据类型

type record_name is record (v1 date_type,v2 date_type,vn date_type) 

declare
type emp_record_type is record (name emp.name%type,dname emp.dname%tpye, sal number(10,2));
emp_record emp_record_type;
begin
select name.dname,sal into emp_record from emp where empno='2666';
dbms_output.put_line(emp_record.name||'所在的部门是'||emp_record.dname); 
end;

属性数据类型可以避免变量引用数据库某列或行数据时而引起的数据类型不匹配

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值