小编Vin*_*oni的帖子

更新所有行时出错

当我更新单行时,它工作正常。但是当我更新所有行时:

 UPDATE cad_bilhetes
 SET ligacao_acobrar = 'False'
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

消息 512,级别 16,状态 1,过程 TG_CAD_BILHETES_UPDATE,第 34 行子查询返回了 1 个以上的值。当子查询跟随 =、!=、<、<=、>、>= 或当子查询用作表达式时,这是不允许的。该语句已终止。

在 TG_CAD_BILHETES_UPDATE 的第 34 行中有:

DECLARE @VALOR_LIGACOES_DDI_ATUAL DECIMAL(7,2)
Run Code Online (Sandbox Code Playgroud)

触发器的开始:

ALTER TRIGGER [dbo].[TG_CAD_BILHETES_UPDATE]
ON [dbo].[CAD_BILHETES]
INSTEAD OF UPDATE
AS
BEGIN
DECLARE @ID INT
DECLARE @VALOR_BILHETE_NOVO DECIMAL(7,2)
DECLARE @VALOR_BILHETE_ATUAL DECIMAL(7,2)
DECLARE @ENCONTROU INT
DECLARE @ID_CONTRATACAO INT
DECLARE @TIPO VARCHAR(2)
DECLARE @TIPO_APARELHO VARCHAR(1)
DECLARE @ID_COMPETENCIA INT
DECLARE @ID_CONTRATACAO_ATUAL INT
DECLARE @ID_CONTRATACAO_NOVO INT
DECLARE @VALOR_LIGACOES_DDD_FIXO_NOVO DECIMAL(7,2)
DECLARE @VALOR_LIGACOES_DDD_MOVEL_NOVO DECIMAL(7,2)
DECLARE @VALOR_LIGACOES_LOCAL_MOVEL_NOVO DECIMAL(7,2)
DECLARE @VALOR_LIGACOES_LOCAL_FIXO_NOVO DECIMAL(7,2) …
Run Code Online (Sandbox Code Playgroud)

trigger sql-server-2005 sql-server

3
推荐指数
1
解决办法
1654
查看次数

标签 统计

sql-server ×1

sql-server-2005 ×1

trigger ×1