php - 事务在触发器中结束。批次已中止(在 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;
任何人都可以帮助我吗?
解决方案
您在存储过程中操作的任何表是否有任何复制?
在一些应用程序中,我已经看到导致此问题的复制触发器。
推荐阅读
- javascript - Cytsocape.js 无法在 for 循环中创建边
- java - 如何将 HttpClient 与任何 ssl 证书一起使用,无论它有多“糟糕”
- git - Git通过清除reflog撤消所有更改?
- mainframe - 使用 SORT 从输入文件中提取数据到不提供预期数据的不同输出文件
- android - 配置变更时如何观察 WorkManager?
- python-3.x - 我如何区分 log2(2^5910-1) 和 log2(2^5910)?两者都给 5909.9999999999
- node.js - CastError:转换为嵌入的值失败
- bash - 用于打印包含用户添加的单词的行的 Shell 脚本
- typo3 - TYPO3 9.5 带有损坏链接的简单 TMENU
- angular - Angular - 未捕获的错误导致重定向回基本 URL