【发布时间】:2018-07-15 08:11:26
【问题描述】:
我们使用的是 DB2(v 9.7,Unix 平台)。我有一个存储过程,其中包含以下 SQL 语句。
declare SOME_DATE DATE;
declare SOME_INT Integer;
…
set SOME_DATE = ( Select SOME_COLUMN from SOME_TABLE WHERE ID= IN_PARAM_ID);
set SOME_INT = ( Some query that accesses federated table using nick name);
我想将 WITH UR 添加到获取 SOME_DATE 的第一个 SELECT 语句中。
当我这样做时,proc 无法编译并出现以下错误。
SQL0109N 不允许使用“WITH ISOLATION USE AND KEEP”子句。 SQLSTATE=42601 (42601,-109)
如果我停止访问联合表,proc 编译正常。 如何将 With UR 添加到与在第二次选择中访问昵称/联合表相关的第一个 SELECT 查询?
【问题讨论】:
-
问题不完整,除非您提供昵称目标的详细信息(即,哪个数据源类型,以及哪些选项用于昵称/服务器/数据源)。一些数据源不支持该语法,并且还有其他记录在案的限制。
-
@mao 为什么昵称的细节很重要?我没有在访问昵称的查询中使用 WiTH UR。我在获取 SOME_DATE 并且只访问本地表的查询中使用它。
-
因为细节很重要。事情很少是他们看起来的样子。细节让其他人尝试重现症状。如果您提供最小完整示例来显示症状,那么您可能会找到原因,但其他人可以尝试重新创建、找到解决方法、找到根本原因等。
标签: db2