首页 > 解决方案 > 事务在触发器中结束。批次已中止(在 PROCEDURE 上)

问题描述

我在服务器上运行了 2 个应用程序,即“生产应用程序”和“开发应用程序”。这两个应用程序除了用途没有区别,一个用于开发,另一个用于用户。

“开发应用程序”没有问题,但问题恰恰出在“生产应用程序”中。

以下是问题之一:当我尝试更新数据时,出现错误:

“事务在触发器中结束。批次已中止” 在此处输入图像描述

即使与“开发应用程序”没有代码差异

这是我的代码:

    ALTER PROCEDURE  [dbo].[uspFakultas] 

      @FakultasID varchar(50),
      @Dekan varchar(50),
      @KetuaProgram varchar(50),
      @WakilDekan1 nvarchar(50),
      @stat varchar(20)
    AS 
    SET NOCOUNT ON;
    if @stat = 'delete' and @FakultasID<>''
        begin
            DELETE FROM [dbo].[MasterFakultas]
                  WHERE [FakultasID] = @FakultasID
        end
    else
        begin   
        if @FakultasID='' 
            begin
                INSERT INTO [dbo].[MasterFakultas]
                           Some field .....
                     VALUES
                           some values.....
            end
        else 
            begin
                UPDATE [dbo].[MasterFakultas]
                   SET some data......

                 WHERE [FakultasID] = @FakultasID
            end
    end;

这是php代码

$sqlstr=" exec [dbo].[uspfakultas] '$FakultasID','$Dekan','$NomorSK','$KetuaProgram','$WakilDekan1','$stat'";
$hasil=mssql_query( $sqlstr ) or die(mssql_get_last_message());
print $hasil;

任何人都可以帮助我吗?

标签: phpsqlsql-serverprocedure

解决方案


您在存储过程中操作的任何表是否有任何复制?

在一些应用程序中,我已经看到导致此问题的复制触发器。


推荐阅读