将 Oracle PL/SQL 过程声明转换为 T-SQL 过程

Convert Oracle PL/SQL procedure declaration to T-SQL procedure

谁能帮我把 oracle 过程声明转换成 SQL 过程声明? 我在转换 arr_list 时遇到困难 和 光标组 CurType。请帮忙! 下面是我的 SQL 服务器创建过程和声明部分:

    CREATE OR REPLACE PACKAGE BODY standard_extract IS
    PROCEDURE process_std_extract (p_debug IN NUMBER DEFAULT 0
    , p_schema IN STRING DEFAULT 'SCHEMA'
    , p_result_level IN STRING DEFAULT 'FULL') AS
      v_reviewset VARCHAR2(255);
      type arr_list is table of number index by varchar2(5);
      v_groupArr arr_list;
      type groupCurType IS REF CURSOR;
      v_groupCur groupCurType;
      v_group number;
      v_grouptype varchar2(5);
      v_numcol varchar2(100);
      type gtype_list is table of varchar2(50) index by varchar2(5);
      v_gtypeArr gtype_list;
      key varchar2(5);
      v_start number;
      v_end number;
      v_msrStart date;

      END process_std_extract;

Can somebody help me convert the oracle procedure declaration to SQL procedure declaration?

是的。签名不包括任何局部变量声明。这些在 TSQL 实现中可能会有很大不同。

程序声明可以简单地为:

create or alter procedure process_std_extract @debug int = 0, 
                                               @schema varchar(20) = 'SCHEMA',
                                               @result_level varchar(20) = 'FULL'
as
begin
   . . .
end

如果您需要帮助翻译程序正文,您可以尝试 SQL Server Migration Assistant for Oracle.