关于网友提出的“ 跪求大神指教,DB2数据库,执行sql出错,错误代码 -746”问题疑问,本网通过在网上对“ 跪求大神指教,DB2数据库,执行sql出错,错误代码 -746”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 跪求大神指教,DB2数据库,执行sql出错,错误代码 -746
描述:db2代码数据库sql
DB2 sql:
update Z010_Source set Tree_Path= F_Get_Source_Path('142628') where Source_Id='142628';
错误信息:
名为 "FTZMIS.F_GET_SOURCE_PATH"(特定名称 "SQL150827134329890")的例程失败,这是因为该例程在尝试对名为 "FTZMIS.Z010_SOURCE" 的表执行操作 "READ" 时违反了嵌套 SQL 语句规则。. SQLCODE=-746, SQLSTATE=57053, DRIVER=4.18.60
函数代码:
CREATE OR REPLACE FUNCTION "FTZMIS"."F_GET_SOURCE_PATH" ( IN_CHILD_ID VARCHAR(1000))
RETURNS varchar(4000)
LANGUAGE SQL
NO EXTERNAL ACTION
READS SQL DATA
SPECIFIC SQL150827134329890
BEGIN
DECLARE sTemp clob default '$';
DECLARE sTempChd clob;
set sTempChd = value(In_Child_Id, '');
WHILE length(value(sTempChd, '')) <> 0 do
set sTemp = sTempChd||','||sTemp;
select listagg(Parent_Source_Id, ',') into sTempChd
from z010_source
where Parent_Source_Id is not null
and instr('$,'||sTempChd||',',','||Source_Id||',')>0
and Source_Id is not null
;
END while;
set sTemp = replace(sTemp,',$','');
RETURN sTemp||',';
END
表结构:
create table Z010_SOURCE
(
source_id VARCHAR2(32) not null,
parent_source_id VARCHAR2(32),
source_code VARCHAR2(32) not null,
depth INTEGER,
source_url VARCHAR2(256),
source_name VARCHAR2(60),
source_type_id VARCHAR2(32),
source_sort INTEGER,
source_from VARCHAR2(3),
is_work_plan VARCHAR2(2),
icon_css VARCHAR2(32),
status VARCHAR2(2),
operator_id VARCHAR2(32),
create_time DATE,
modify_time DATE,
temp1 VARCHAR2(30),
temp2 VARCHAR2(30),
tree_path VARCHAR2(500)
)
跪求大神指教...........
以上介绍了“ 跪求大神指教,DB2数据库,执行sql出错,错误代码 -746”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3504429.html