问题标签 [plsql]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3015 浏览

oracle - PL/SQL 中的 Oracle ORDImage 处理:获取 IMG-00710 和 ORA-01031

我已将图像加载到一个新的、已初始化的 Oracle ORDImage 对象中,并正在通过 PL/SQL 处理它。我可以读取它的属性,但不能使用 process() 方法处理它。

这应该缩小图像,保持纵横比,使其宽度不超过 534 像素,高度不超过 401 像素。

但是,我收到以下错误堆栈:

尝试其他操作(如“旋转 90”)会产生相同的错误。

0 投票
1 回答
4685 浏览

java - 使用 JDBC 时,Oracle 的 REF CURSOR 在 Postgresql 中的等价物是什么?

在 Oracle 中,我可以声明一个引用游标...

...并使用它来传递游标作为返回值...

...然后使用 JDBC 将其捕获为结果集...

Postgresql 中的等价物是什么?

0 投票
3 回答
4063 浏览

java - 加密 clob 的最佳方法是什么?

我正在使用 Oracle 9 和 JDBC,并希望在将 clob 插入数据库时​​对其进行加密。理想情况下,我希望能够插入明文并通过存储过程对其进行加密:

明文预计不会超过 4000 个字符,但加密会使文本更长。我们当前的加密方法使用 dbms_obfuscation_toolkit.DESEncrypt() 但我们只处理 varchars。下面的工作吗?

我对临时的clob感到困惑;我需要关闭它吗?还是我完全偏离了轨道?

编辑:混淆的目的是防止对数据的琐碎访问。我的另一个目的是以与我们已经混淆 varchar 列相同的方式混淆 clob。oracle 示例代码不处理我的具体问题所在的 clob;加密 varchars(小于 2000 个字符)很简单。

0 投票
5 回答
222390 浏览

sql - 如何从存储过程中返回多行?(甲骨文 PL/SQL)

我想创建一个带有一个参数的存储过程,该参数将根据参数返回不同的记录集。这样做的方法是什么?我可以从普通 SQL 调用它吗?

0 投票
1 回答
252 浏览

sql - 使用可变数组变量运行插入查询时遇到问题

我在 Oracle 10g 企业版上使用 SQL*Plus 9.2。我创建了一些使用通过命令提示符传递的参数进行基本插入的脚本。我应该能够在一个循环中运行一堆插入似乎是合乎逻辑的。所以我尝试了以下方法:

当我运行脚本时,我收到一条 PL/SQL 成功完成的消息。我尝试调试并使用dbms_output来显示org(i). 一切看起来都很好。但是这些行永远不会输入到数据库中。一旦我进行选择,新行就不存在了。循环和插入有什么技巧吗?

(我也试过IS VARRAY(6) OF代替IS TABLE OF。同样的非结果)

0 投票
5 回答
4483 浏览

java - pl sql & java - 创建动态查询

我进退两难,我正在使用 Java 和 Oracle,并试图在 PL/SQL 端保留查询。一切都很好,直到我有这些可能有条件也可能没有条件的复杂查询。

在 Java 中将WHERE子句与条件放在一起并不难,但这并不好。在 PL/SQL 方面,我还发现唯一的可能性dynamic queries是字符串操作,例如

现在我在想,我将在 PL/SQL 中留下查询并发送WHERE带有函数参数的子句。请问有什么好的建议或例子吗?

0 投票
2 回答
28591 浏览

oracle - 使用 PL/SQL 如何将文件的内容放入 blob?

我有一个文件。我想将其内容放入我的 oracle 数据库中的 blob 列或放入我的 PL/SQL 程序中的 blob 变量中。最好的方法是什么?

0 投票
3 回答
1946 浏览

oracle - 如何在 SQL*PLUS 中定义持久变量

我正在尝试SQL*PLUSORACLE.

  • 创建变量
  • 将其作为输出变量传递给我的方法调用
  • 打印输出变量的值

我明白了

未声明的变量

错误。我正在尝试创建一个在会话中持续存在的变量,直到我关闭SQL*PLUS窗口。

0 投票
4 回答
8605 浏览

oracle - 如何从 Oracle PL/SQL 访问 Subversion?

对于政府机构,我们构建了一个使用 PHP 和 Oracle 开发的发布管理系统。此应用程序的数据存储在数据库表中,并使用 PL/SQL 包和过程进行处理。

发布管理过程广泛基于来自 Subversion 存储库的元数据。我们通过内部 Oracle JVM 从 PL/SQL 访问存储库,以在驻留 Oracle 实例的 unix 服务器上执行 svn 命令。svn 命令的结果以 XML 格式接收并在 PL/SQL 处理之前进行解析。对于频繁重复使用,以这种方式访问​​ Subversion 的性能不是很好。

目前,我们所做的是在 Subversion 存储库中的每次提交时将 Subversion 元数据存储在数据库表中(通过 Subversion 挂钩)。我们提取每个 Subversion 事务的日志信息并将其保存在一些 oracle 表中。然后我们就可以通过正常的 SQL 查询获得 Subversion 元数据。

有没有更好的方法从 PL/SQL 访问 Subversion?

0 投票
8 回答
63295 浏览

oracle - 将数据插入 Oracle 表的最快方法是什么?

我正在用 PL/SQL 编写数据转换,用于处理数据并将其加载到表中。根据 PL/SQL Profiler,转换中最慢的部分之一是实际插入到目标表中。该表有一个索引。

为了准备加载数据,我使用表的行类型填充一个变量,然后将其插入到表中,如下所示:

insert into mytable values r_myRow;

似乎我可以通过执行以下操作来获得性能:

  • 在插入期间关闭日志记录
  • 一次插入多条记录

这些方法是否可取?如果是这样,语法是什么?