Oracle使用%type类型的变量输出结果

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

使用%type的2个好处:

1.用户不必查看表中各个列的数据类型,就可以确保所定义的变量能够存储检索的数据。

2.如果表中列的数据类型发生变化,只要字段名不变化,用户就不用考虑变更变量的数据类型。
一下是一个简单的例子:

declare
v_ename emp.ename%type;        --声明与ename列类型相同的变量
v_job   emp.job%type;         --声明与job列类型相同的变量
begin
   select ename,job into v_ename,v_job from emp
   where empno=7369;                            --检索数据并保存在变量中
   dbms_output.put_line(v_ename||‘的职务是‘||v_job);--输出结果
end;

输出结果如下:

SMITH的职务是CLERK

在使用过程中应该注意:

由于into子句中的变量只能存储一个单独的值,所以要求select 返回的子句只能够是一行数据,这个由where子句进行限定,若返回多行数据,那么代码运行将会报错。

时间: 2024-05-01 03:25:36

Oracle使用%type类型的变量输出结果的相关文章

oracle常用的复合数据类型 : BULK COLLECT(成批聚合类型)和数组集合type类型is table of 表%rowtype index by binary_integer

例1: 批量 查询部门号为 "10" 号的并把它们打印出来 . DECLARE TYPE emp_table_type IS TABLE OF my_emp%ROWTYPE INDEX BY BINARY_INTEGER; v_emp_table emp_table_type; BEGIN SELECT * BULK COLLECT INTO v_emp_table FROM my_emp WHERE deptno=&deptno; FOR i IN 1..v_emp_tabl

PLSQL 之类型、变量和结构

1.类型 在<.Net程序员学用Oracle系列(5):三大数据类型>一文中详细地讲述了 Oracle 的基本数据类型,文中还提到,除基本数据类型之外,Oracle 还在语法上支持一些非固有数值类型. 事实上,Oracle 在语法上支持的数据类型远不止于此,Oracle 还支持一些复杂而强大的数据类型.如属性类型%TYPE和%ROWTYPE,记录类型 RECORD,集合类型 VARRAY 和 TABLE 等.本节将会介绍实用的属性类型和灵活的记录类型. 1.1.属性类型 属性类型是一种可以直接

ORACLE与.NET类型对应关系(转)

ORACLE与.NET类型对应关系 想来这个是最重要的事情了,因为多数情况下,我们使用dbhelper来调用数据库的时候,是因为如下三个地方导致错误: 1.错误的sql语句:末尾多了分号,少了部分关键字 2.sql中的参数与parameter[]不对应. 3.parasmeter[]中的数据类型转为Oracle的数据类型中出错. 通常情况下,我们大设置paramenter[]时,只会给出变量名和对应的值(多数是.NET中的变量)去让ODP自动执行数据类型转换,而ODP一般都可以正确的转换,但是,

Oracle中Long类型的使用与不可使用

ORA-01754 表只能包含一个LONG类型的列alter table 表名 add 字段名 long raw错误原因:数据表中同时建立了LONG RAW类型和LONG类型.--------------------------------------------------------------------------------------------------一.可以在以下情况使用long字段:1. select的list列表.SQL> insert into test_long va

python元组类型的变量以及字符串类型的变量作为参数进行传值

今天做selenium元素对象剥离时(我把元素对象都放到了元组类型的变量中,格式:user = (“id”,“X-Auto-2”)),遇到一个元组变量,以及str字符串变量一起作为参数传值的问题,发现输出的字符串是元组中的第一个数值,研究了大半天,终于搞明白啦. 1.函数中传参时,各变量类型是有先后顺序的,如:def name(x,x,*lo,**loo),整型.字符串等类型必须放在元组(*号开头)和字典(**两个星号)前面 2.如:def name(self,x,x,*lo,**loo),传参

Python 变量类型及变量赋值

在 Python 中,变量不一定占用内存变量.变量就像是对某一处内存的引用,可以通过变量访问到其所指向的内存中的值,并且可以让变量指向其他的内存.在 Python 中,变量不需要声明,但是使用变量之前,一定要先对变量进行赋值.当创建了一个新对象时,Python 会向操作系统请求内存,Python 本身实现了内存分配系统.变量类型指的是变量所指向的内存中 对象 的类型.Python 中变量赋值使用 = 等号,等号左面为创建的变量,等号右面为需要的值. # #创建一个变量名为 a 的变量 # a =

Oracle关于date类型数据的总结

往Oracle数据库中插入日期型数据(to_date的用法) INSERT  INTO  FLOOR  VALUES  ( to_date ( '2007-12-20 18:31:34' , 'YYYY-MM-DD HH24:MI:SS' ) ) ; 查询显示:2007-12-20 18:31:34.0 ------------------- INSERT  INTO  FLOOR  VALUES  ( to_date ( '2007-12-14 14:10' , 'YYYY-MM-DD HH2

python学习笔记2—python文件类型、变量、数值、字符串、元组、列表、字典

python学习笔记2--python文件类型.变量.数值.字符串.元组.列表.字典 一.Python文件类型 1.源代码 python源代码文件以.py为扩展名,由pyton程序解释,不需要编译 [[email protected] day01]# vim 1.py #!/usr/bin/python        print 'hello world!' [[email protected] day01]# python 1.py hello world! 2.字节代码 Python源码文件

ORACLE中 %TYPE 和 %ROWTYPE 的使用

%TYPE 用在变量的声明里,用于取得表中的字段类型: %ROWTYPE 用于声明基于某个表的行类型: 示例: %ROWTYPE 使用 DECLARE      CURSOR pdct_cur      IS SELECT * FROM PRODUCTINFO; cur_prodcrd productinfo%ROWTYPE; BEGIN         OPEN pdct_cur;          FETCH pdct_cur INTO cur_prodrcd;          DBMS_