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