问题标签 [plsql-package]
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.
oracle - 重载问题:错误(83,5):PLS-00307:“REPORTEQ”的声明过多与此调用匹配
所以我正在尝试使用重载,但我遇到了一些麻烦。我的包有 4 个名称相同但参数类型不同(VARCHAR2、NUMBER、BOOLEAN、DATE)的过程。包头和包体在我的问题的最后。
我正在尝试使用这样的包程序:
我收到了这个编译错误:
这是什么意思?
包头:
和包体:
plsql - Oracle 包规范何时变为无效
据我所知,可以在不影响规范的情况下替换和重新编译包体。包规范声明过程和函数,而不是定义它们,因此它们不能引用对象,这会使包规范无效。
我知道当一个包规范使用独立的子程序和其他包来定义它的变量时,它可以引用对象。在这种情况下,更改引用的对象可能会导致规范无效。
是否有任何其他方式,Oracle 包规范如何依赖(引用)对象并在引用对象更改或其他方式时变为无效?
sql - 我想在oracle数据库中插入十亿条记录
我必须在 oracle 数据库表中插入十亿条记录。我有 2 列。一列是一个序列号,一直到 1,000,000,000 第二列是一个 varchar2 字段...格式为 abc~122~373~7777777~5367 。即第一列必须包含 3 个随机字符,后跟 '~',然后是 3 个随机数,后跟 '~',然后是 3 个随机数,后跟 '~',然后是 7 个随机数,后跟 '~',最后是 4 个随机数通过'〜'。而且我需要所有记录都是唯一的。
sql - Db2:如何在 db2 中部署 Oracle PL/SQL 包?
我尝试在 Db2 中创建 Oracle PL/SQL 包,但遇到了错误。
当我运行上面的代码时,它会导致以下错误:
部署 [tnbdr]DB2INST1.ARITHMETIC 运行 DB2INST1.ARITHMETIC - 开始部署以进行调试。创建 PL/SQL 包规范返回 SQLCODE:-104,SQLSTATE:42601。 DB2INST1.ARITHMETIC:1:在“CREATE OR REPLACE”之后发现了意外的标记“PACKAGE”。预期的令牌可能包括:
“VIEW”.. SQLCODE=-104, SQLSTATE=42601, DRIVER=4.18.60 在“CREATE OR REPLACE”之后发现了一个意外的标记“PACKAGE”。预期的标记可能包括:“VIEW”.. SQLCODE=-104, SQLSTATE=42601, DRIVER=4.18.60 DB2INST1.ARITHMETIC - 部署调试失败。DB2INST1.ARITHMETIC - 回滚成功完成。
如何部署软件包,为什么会失败?
oracle - PL/SQL 插入和分区
我想首先说我还在学习 PL/SQL。我想知道您是否可以就以下主题/问题分享您的意见。基本上,我想通过一个包将表 X 中的数据插入到表 Y 中。我已经阅读了有关插入部分的内容,所以这很清楚,但是我想知道现有分区会发生什么。假设表 Y 有分区。当我们从表 X 中插入新数据时会发生什么?是否会被划分为分区?或者,如果我有间隔分区,它们会根据来自表 X 的传入数据增长吗?我需要“触发”/调用包内的分区吗?
预先感谢您的帮助!我只是在寻找提示和建议,以便我可以弄清楚如何设置我的表和包(以防我需要在那里调用分区)。例如,我是否应该有间隔分区。
感谢您的时间!
stored-procedures - plsql中的全局变量
我创建了一个包。
在包规范中,我声明了一个变量l_emp_name varchar2(100);
,我在各种过程中的包主体中使用该变量。
在第一个过程launch_workflow()
中,我为该变量赋值。例如l_emp_name:='Sanket Katariya';
在该工作流程启动后。
在approver_1 procedure
我得到l_emp_name
as的值'sanket katariya'
,但在apporver_2 procedure
我得到一个null
值。
如果我再次设置l_emp_name:='Sanket Katariya';
而approver_1
不是在其余程序approver_2、approver_3等中获得它的值。
所以从逻辑上讲,该变量应该在所有过程中都可以访问,对吧?
请帮助我理解这一点。为什么我需要将值设置为 in approver_1 procedure
?
sql - Oracle PLSQL:如何根据每个值使用替换变量?
在执行上述 PLSQL 块时,对于替换变量 &v_test 而不是提示输入 v_test 的值,它应该提示 v_test 中的值。即它应该提示'输入A的值'。所以每次如果我改变 v_test 的值,那么这个值应该会提示。
有什么解决办法吗?
plsql - 使用嵌套表作为过程的参数
我有一个表 T1,我想通过使用集合的过程一次插入多行。我已经编写了代码,但是当我尝试执行它时会引发错误。请指教。
执行后出错
oracle - Oracle PL/SQL 不能识别 DATE 输入?
我有包裹:
与身体:
然而,当我调用包程序时:
,或我能想到的任何其他日期格式,Oracle 认为它是 VARCHAR 或 NUMBER。输出:
我在这里,一个 VARCHAR2
我在这里,一个数字
我在这里,一个 VARCHAR2
已处理报表。
唯一有效的是...
但我认为 Oracle 可以识别日期,因为它会进行隐式转换。我很困惑。
提前致谢。