问题标签 [sql-pl]

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 投票
1 回答
7042 浏览

stored-procedures - 通过声明处理程序在 DB2 SQL-PL 中捕获所有类型的上升信号的方法

我想在我的代码中处理所有类型的生成信号。我知道如何使用 Declare Handler 捕获特定的处理程序,但是我想要所有这些处理程序。

例如,这里我捕捉到了 72822 信号。

我将调用一个我不知道代码的存储过程,并且我必须能够处理所有可能的信号(例如将信号代码插入表中。)

我想要类似的东西

0 投票
1 回答
42 浏览

logging - DB2 的日志记录框架

DB2 的日志记录框架选项有哪些?

在其他 RDBM 中,有几个选项:

甲骨文:

对于 SQL Server (TSQL)

0 投票
1 回答
729 浏览

stored-procedures - 从接收到的结果集(游标)中返回 SP 中的结果集

我想知道是否可以在存储过程中重新返回结果集(打开的游标),这是我从以前的存储过程收到的。

让我们假设

我不知道如何重新返回收到的结果集。我知道游标已经打开,但是调用 sp1 时不会返回它。

这些是内部 sp 调用,因此我无法更改第一个光标以返回客户端。

0 投票
1 回答
3300 浏览

db2 - 在 DB2 PL/SQL 匿名块中声明局部变量并声明继续处理程序会导致错误?

我正在尝试制作一个简单的脚本来处理可以正常失败的语句中的错误。这适用于 DB2 v10.5 (Linux)

示例创建一个表并处理如果表已经存在

这工作正常

现在我有一个稍微复杂一点的块,它最初使用局部变量,我试图添加 DECLARE CONTINUE HANDLER,但我无法编译它。简化问题我发现,如果我有 Handler 行,则在开始之前添加声明语句会失败(注意我在这里没有使用 localVariable,但仅通过添加该语句就会失败。如果我在没有 DECLARE CONTINUE HANDLER 的情况下运行相同的语句,它也运行正常

产生的错误代码

错误报告:DB2 SQL 错误:SQLCODE=-104, SQLSTATE=42601, SQLERRMC=end;end;BEGIN, DRIVER=3.68.61

0 投票
2 回答
19796 浏览

db2 - DB2 SQLCODE -433,SQLSTATE 22001

我创建了一个触发器,在触发器内我添加了很多 varchar 并创建了一个新的 varchar。如果我附加了太多的 varchars,那么我将低于 Sql Exception。(如果我附加 4 或 5 个 varchar,那么我不会收到此错误)

我发现 varchar 最大大小基于表空间的页面大小。我检查了我的页面大小,它的 8K 字节。

但我附加的内容不是 8K 字节。请帮我解决这个错误。

触发器“ORDDBA.ORD_IR_IN”中的触发 SQL 语句发生错误。为错误返回的信息包括 SQLCODE“-433”、SQLSTATE“22001”和消息标记“ACTION|AREA_UNIT|BAL_CHG_FLAG|CANCEL_DATE|”.. SQLCODE=-723、SQLSTATE=09000、DRIVER=3.66.46

0 投票
1 回答
888 浏览

stored-procedures - DB2 存储过程中的“P1:开始”和“P2:开始”

谁能向我解释或指出一些关于为什么使用“P1:开始”和“P2:开始”将存储过程标记为不同部分的文档?谢谢,迈克

0 投票
0 回答
572 浏览

sql - 如何在单个查询中实现 width_bucket 函数

Oracle SQL 提供

创建直方图的函数。WIDTH_BUCKET Oracle SQL 参考。我想知道是否可以使用嵌套查询或其他方式实现相同的功能?

更新:如果不能通过单个查询,我想知道以下哪种方法实现直方图功能的性能最快?

  1. SQL PL 存储过程
  2. JAVA存储过程
  3. JDBC程序
0 投票
1 回答
25 浏览

sql - SQL/pl 删除供应商 x 提供的所有产品和参考的程序

我必须创建一个过程来删除供应商 x 提供的所有产品以及另一个名为 tab_line 的表中的所有引用。不确定我是否做得对,但它表明我在运行此代码时缺少一个表达式。任何帮助或更好的方法将不胜感激!

0 投票
1 回答
40 浏览

sql - 使用 SQL-PL 更改字段中的文件夹路径

我在一个包含文件路径的 DB2 表中有一个字段。该值将如下所示:

N:\Folder1\Folder2\Folder3\Folder4\ITP201602

我需要一个存储过程,它将更改带有时间戳的最后一个文件夹,它将显示为 ITPYYYYMM。ITP 是一个不会改变的占位符值。查看此路径的其他软件需要它。

这是我当前的查询,它有效:

问题在于它需要将最后一个文件夹命名为“Folder4”。无论最后一个文件夹的名称如何,我们都希望它能够正常工作。

SQL PL 中有没有办法做同样的事情,但只需在最后一个反斜杠之后应用更改,而不必硬编码最后一个文件夹名称?

谢谢

0 投票
1 回答
671 浏览

while-loop - 在 WHILE 循环 SQL-PL DB2 中移动到下一个迭代

有没有办法告诉程序在 SQL-PL for DB2 中移动到 while 循环的下一次迭代?我知道有一个 CONTINUE 语句,但它对我不起作用。

我基本上想要: