DB2 到 SQL 服务器迁移:不支持 return 语句中游标的转换
DB2 to SQL Server migration: The conversion of cursors in return statements is not supported
我们正在使用 Microsoft SQL 服务器迁移助手将 DB2 进程转换为 SQL 服务器,并在生成的 SQL 服务器进程中出现以下错误:
Errors:DB22SS0245 The conversion of cursors in return statements is not supported
DB2 proc(省略创建语法和实际的复杂逻辑):
BEGIN
DECLARE temp_cursor CURSOR WITH HOLD WITH RETURN TO CALLER
FOR SELECT * FROM EMP
FOR READ ONLY;
OPEN temp_cursor;
END
如何以最少的更改将其转换为 SQL 服务器等效项?我在这里读到的可能的解决方案建议对过程进行相当大的改变,这对我们来说很难,因为过程很大而且数量很多。谢谢!
发布对我有用的内容。由于 proc 只是返回一个 select 语句,因此在这个用例中使用游标不会增加任何优势。在没有游标的情况下重构 proc,仅使用 select 语句。
BEGIN
SELECT * FROM EMP
RETURN 0
END
我们正在使用 Microsoft SQL 服务器迁移助手将 DB2 进程转换为 SQL 服务器,并在生成的 SQL 服务器进程中出现以下错误:
Errors:DB22SS0245 The conversion of cursors in return statements is not supported
DB2 proc(省略创建语法和实际的复杂逻辑):
BEGIN
DECLARE temp_cursor CURSOR WITH HOLD WITH RETURN TO CALLER
FOR SELECT * FROM EMP
FOR READ ONLY;
OPEN temp_cursor;
END
如何以最少的更改将其转换为 SQL 服务器等效项?我在这里读到的可能的解决方案建议对过程进行相当大的改变,这对我们来说很难,因为过程很大而且数量很多。谢谢!
发布对我有用的内容。由于 proc 只是返回一个 select 语句,因此在这个用例中使用游标不会增加任何优势。在没有游标的情况下重构 proc,仅使用 select 语句。
BEGIN
SELECT * FROM EMP
RETURN 0
END