当前位置:首页>开发>正文

oracle如何返回四种结果 oracle dual是什么表

2023-04-23 09:53:32 互联网 未知 开发

 oracle如何返回四种结果 oracle dual是什么表

oracle如何返回四种结果

Oracle中函数/过程返回结果集的几种方式
原文 Oracle中函数/过程返回结果集的几种方式
Oracle中函数/过程返回结果集的几种方式:
以函数return为例,存储过程只需改为out参数即可,在oracle 10g测试通过.
(1) 返回游标:
return的类型为:SYS_REFCURSOR
之后在IS里面定义变量:curr SYS_REFCURSOR
最后在函数体中写:
open cur for
select ......
return cur

oracle dual是什么表

DUAL是Oracle与数据字典一起自动创建的一个表。它只有一列:DUMMY,其数据类型为:VARCHAR2(1)。DUAL中只有一行数据:X。DUAL属于SYS模式,但所有用户都可以使用DUAL名称访问它。用SELECT计算常量表达式、伪列等值时常用该表,因为它只返回一行数据,而使用其它表时可能返回多个数据行。

dual是一个oracle内部表,不论我们做什么操作(不要删除记录)它都只有一条记录,上面插入了一条之后,他仍然只有1条记录,所以很多取系统时间,计算,等只要选择一条记录,而且记录内容与表内容无关的操作,我们都喜欢使用这个表。虚表(dual)是oracle提供的最小的工作表,它仅包含一行一列。对于虚表(dual)来说,其中的列往往是不相关的或无关紧要的。
查看表结构:
1. 执行select * from dual;
2. 里面只有一条记录,插入一条记录,insert into dual values(Y);
3. 再次查询dual表,里面任然显示一条记录。刚才插入的那条记录并没有显示出来。明明DUAL表中有两条记录,可就是只显示一条。再试一下删除,全删光,也只有一条记录被删掉。
4. 原来ORACLE对DUAL表的操作做了一些内部处理,尽量保证DUAL表中只返回一条记录.当然这写内部操作是不可见的。看来ORACLE真是蕴藏着无穷的奥妙啊。

oracle 函数 返回值

select F_unload_amountFormatTrigger(RJ0001) from Gz_Ord_Trans_Contract_Headers a
你这样写的话,Gz_Ord_Trans_Contract_Headers里有多少条数据,就会有多少个56.
如果RJ0001是固定,
可以写成select F_unload_amountFormatTrigger(RJ0001) from dual,
如果不固定,就可以考虑写成:
select F_unload_amountFormatTrigger(contract_number) from Gz_Ord_Trans_Contract_Headers

oracle查询返回多条记录

select 成绩 from 成绩表 where 成绩表学号的列名=001(类型要注意)
假设:成绩表为score,成绩表中学号列为stuno,成绩列名为result,学生id为1(number类型)。
查询语句为:
select result from score where stuno=1

最新文章