SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GOcreate PROCEDURE [dbo].[sp_update_cms_contract_nstc_interface]AS
declare @errorvariable      int
BEGIN
   SET XACT_ABORT ON
   BEGIN TRY 
   BEGIN TRAN T1
    --更新零售合同信息
    delete IF_Contract
    insert into IF_Contract
    select * from [10.192.68.177].[EsApp].[dbo].[NSTC_IF_Contract_T]
   COMMIT TRAN T1 
   END TRY 
   BEGIN CATCH
        set @errorvariable=@@ERROR
IF @errorvariable<>0
BEGIN
                 ROLLBACK TRAN T1
                 RETURN 
        END
   END CATCH
END

解决方案 »

  1.   

    这是sql的,想要转换成oracle的,怎么转啊,高手们。帮帮忙吧,我自己实在是转不对了,先谢谢各位了!
      

  2.   

    create or replace
    procedure sp_update_cms
    iS
    errorvariable number(10) := 0;
    begin
      delete IF_Contract;
      insert into IF_Contract
      select * from NSTC_IF_Contract_T;
      errorvariable := 0;
      COMMIT;
      return;
    exception when others then
      errorvariable := sqlcode;
      ROLLBACK;
      return;
    END sp_update_cms;
      

  3.   


    嗯,我们都要加油加油!!
    对了兰兰,那个sqlserver存储过程中开头的
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    和中间 BEGIAN 后面的 SET XACT_ABORT ON 这些是什么意思啊?oracle中去掉这些就行了吗?还是得用什么代替他们啊?我去网上搜来着,看得也是一头雾水。好兰兰,帮帮我啊!