oracle的引用型变量和记录型变量程序举例

--引用型变量

--打开oracle的输出口
--set serveroutput on

declare
    --定义引用型变量,查询并打印1232的姓名和薪水
    --pename varchar2(20);--这2句和下面的2句效果一致
    --psal number;
    pename emp.ename%type;
    psal emp.sal%type;
begin
    --得到1232的姓名和薪水
    --赋值的方式有:=和into
    select ename,sal into pename,psal from emp where empno=122;

    --打印姓名和薪水
    dbms_output.put_line(pename||'的薪水是'||psal);

end;
/
    

记录型变量程序举例:

--记录型变量:取表中的一行的类型作为变量的类型,
--可以把记录型变量理解成一个数组,而数组中的每一个元素代表每一列

--举例 rec是记录的简写,row是行,type是类型,就是行类型
 -- emp_rec emp%rowtype;
--记录型变量分量的引用
 -- emp_rec.ename:='ADAMS';

 --使用记录变量,查询并打印123的姓名和薪水
 --set serveroutput on
 declare
     --定义记录型变量:注意代表一行
     emp_rec emp%rowtype;
 begin
    --得到123一行的信息

    select * into emp_rec from emp where empno=123;

    --打印姓名和薪水
    dbms_output.put_line(emp_rec.ename||'的薪水是'||emp_rec.sal);
   end;
   --/

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-12 14:08:52

oracle的引用型变量和记录型变量程序举例的相关文章

整型信号量与记录型信号量

信号量机构是一种功能较强的机制,可用来解决互斥与同步的问题,它只能被两个标准的原语wait(S)和signal(S)来访问,也可以记为"P操作"和"V操作". 原语是指完成某种功能且不被分割不被中断执行的操作序列,通常可由硬件来实现完成不被分割执行特性的功能.如前述的"Test-and-Set"和"Swap"指令,就是由硬件实现的原子操作.原语功能的不被中断执行特性在单处理机时可由软件通过屏蔽中断方法实现. 原语之所以不能被中

const型变量和const型指针

const型变量和const型指针 const型变量 如果在程序中需要经常使用某一常量,可以使用编译预处理命令定义符号常量. eg:#define PI 3.14159 const型变量也是一种定义常量的手段.const型变量是特殊的变量,程序运行过程中不可改变,其他特性和变量一样.定义const变量时必须初始化. eg: const int Max=1000; //int和const位置可以交换. const常量与符号常量的区别: 1)符号常量由预编译器处理,const型变量由变量处理. 2)

C语言extern引用AT&T汇编中的变量,任意转换类型

今天研究出了一个小问题,在C语言里引用汇编的变量,会是什么结果,汇编中的变量没有像C语言中int类型那样的类型约束,可以把数据当作任何类型处理,那么传到C语言中我们应该当作什么类型处理呢. 换句话说,在汇编里定义变量var,在C语言里引用,我们肯定要用extern声明var外部变量,那么extern后面接什么类型?难道是extern int var么?还是 extern short var 实例: 一. 汇编程序:(是的,就这么短小) .global var  #注意现在的汇编器不再要求被C语言

oracle中关于替代变量,accpt,绑定变量,字符变量

此文档介绍两个事情,一个是替代变量,另一个就是了解一下硬解析和软解析对于变量来说declare定义的好还是variable定义的好 在oracle 中,对于一个提交的sql语句,存在两种可选的解析过程, 一种叫做硬解析,一种叫做软解析.一个硬解析需要经解析,制定执行路径,优化访问计划等许多的步骤.硬解释不仅仅耗费大量的cpu,更重要的是会占据重要的们闩(latch)资源,严重的影响系统的规模的扩大(即限制了系统的并发行),而且引起的问题不能通过增加内存条和cpu的数量来解决.之所以这样是因为门闩

解释器和编译器,编译型原理和解释型原理

解释器: 解释器(英语:Interpreter),又译为直译器,是一种电脑程序,能够把高级编程语言一行一行直接转译运行.解释器不会一次把整个程序转译出来,只像一位“中间人”,每次运行程序时都要先转成另一种语言再作运行,因此解释器的程序运行速度比较缓慢.它每转译一行程序叙述就立刻运行,然后再转译下一行,再运行,如此不停地进行下去. 解释器运行程序的方法有: 1.直接运行高级编程语言 (如 Shell 自带的解释器) 2.转换高级编程语言码到一些有效率的字节码 (Bytecode),并运行这些字节码

double型转换成string型

double型转换成string型 题目描述: 如有一个函数,其可接受一个long double参数,并将参数转换为字符串,结果字符串应保留两位小数,例如,浮点值123.45678应该生成"123.45"这样的字符串.表面上看来 这是一个意义不大的编程问题,然而,如果真要在实际中派上用场,函数应设计为具有一定弹性,以允许调用者指定小数位数.另外,函数也应该能够处理各种异常 情况,如像123.0或123这样的整数. 转换函数接口:string do_fraction(long doubl

java 中double型转化成int型(转)

java 中double型转化成int型 一个变量 double x: //不进行四舍五入操作: (int)x //进行四舍五入操作: Integer.parseInt(new java.text.DecimalFormat("0").format(x))

C语言:int型指针与char型指针本质

---恢复内容开始--- 我的理解是,不管定义时将指针定义成何种类型,指针本质上都是一个数字,其位数由编译器来决定. 比如我的编译器是32位,那么无论是定义一个char *pc还是定义一个int *pi,本质上pc与pi都是一个32位的数,但是由于"char *" 和 "int *"的限制,所以pc++是自加8bit,而pi++是自加16bit. 1 // int指针与char指针.cpp : 2 // 看看“char型指针”与“int型指针”本质上有什么区别 3

Python中从SQL型数据库读写dataframe型数据

Python的pandas包对表格化的数据处理能力很强,而SQL数据库的数据就是以表格的形式储存,因此经常将sql数据库里的数据直接读取为dataframe,分析操作以后再将dataframe存到sql数据库中.而pandas中的read_sql和to_sql函数就可以很方便得从sql数据库中读写数据. read_sql 参见pandas.read_sql的文档,read_sql主要有如下几个参数: sql:SQL命令字符串 con:连接sql数据库的engine,一般可以用SQLalchemy