DB2到SQL Server的迁移:不支持在return语句中转换游标

zvms9eto  于 2022-11-07  发布在  DB2
关注(0)|答案(1)|浏览(126)

我们正在使用Microsoft SQL Server迁移助手将DB2进程转换为SQL Server,并在生成的SQL Server进程中遇到以下错误:
错误:DB22 SS 0245不支持return语句中的游标转换
DB2 proc(省略create语法和实际复杂逻辑):

BEGIN 
 DECLARE temp_cursor CURSOR WITH HOLD WITH RETURN TO CALLER
  FOR SELECT * FROM EMP
  FOR READ ONLY;
  OPEN temp_cursor;
 END

如何以最小的改动将其转换为SQL Server的等价物?我在这里读到的可能的解决方案建议对proc进行相当大的改动,这对我们来说很困难,因为proc非常大,而且数量很多。谢谢!

ix0qys7i

ix0qys7i1#

发布对我有用的方法。由于proc只是返回一个select语句,因此在此用例中使用游标并没有增加任何优势。重构了没有游标的proc,只使用了select语句。

BEGIN 
 SELECT * FROM EMP
 RETURN 0
END

相关问题