小编Ale*_*das的帖子

如何以及何时在 oracle 中使用 sys_refcursor

有人可以给我一个关于如何以及何时使用 sys_refcursor 的小解释吗?

oracle oracle-11g

10
推荐指数
1
解决办法
7万
查看次数

oracle过程中的临时表

我现在处于一种情况。我正在将几个过程从 Mysql 5.0 迁移到 Oracle 11g。Mysql 程序允许我:
1.创建临时表
2. 将数据插入临时表 / 查询这些表 / 做一些处理
3.删除临时表

我一直在搜索并发现我无法在没有EXECUTE IMMEDIATE语句的过程中创建 DDL语句。我尝试使用该语句创建临时表,并立即在其上插入一些值,但它不起作用,因为该表尚不存在。我试图创建一个创建临时表的函数,然后从过程中调用它,但发生了同样的情况。

我需要实现与 MySQL 相同的步骤。这种情况经常发生(有这种“问题”的程序太多了)而且它们非常大。

我有什么选择,你有什么推荐?

oracle oracle-11g temporary-tables

7
推荐指数
1
解决办法
4万
查看次数

如何在 where 子句中返回不同的语句?(神谕)

我的意思是:

CREATE OR REPLACE FUNCTION FUNCTION1(ID IN NUMBER) RETURN NUMBER
BEGIN
SELECT COLUMN1, COLUMN2, COLUMN3 FROM TABLE1
WHERE COLUMN1<= Y AND (CASE WHEN ID < X THEN COLUMN1<COLUMN2 ELSE COLUMN2>COLUMN3 END),
AND COLUMN 3 = XYZ;

RETURN SOMETHING.

END;
Run Code Online (Sandbox Code Playgroud)

我知道case 语句不返回表达式而是返回一个值。我如何使用某种“条件语句”或其他东西来返回表达式?我过去常常使用“IF 条件”在 mysql 中轻松完成,但我不知道如何在 Oracle 11g 中完成。
编辑:它的工作原理是否相同,不仅适用于 where 陈述者而且适用于 select ?

oracle

0
推荐指数
1
解决办法
1万
查看次数

标签 统计

oracle ×3

oracle-11g ×2

temporary-tables ×1