首页 > 解决方案 > 数据未插入到 SQL Server 表中

问题描述

我正在开发一个项目,我在 SQL Server 的部分有困难,我创建了一个程序,我需要当表中的值 humBi_medicao大于 10 时,他将该行放在另一个表中Bi_alerta,但问题是当我运行代码时一切都很好,但是当我看到它时,它并没有在表中添加任何内容......只是不要在表中添加任何行Bi_alerta

SQL Server 存储过程:

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[Bi_alertainset] 
    @alerta_hum varchar(50),
    @alerta_temp varchar(50),
    @alerta_lpg varchar(50),
    @alerta_co varchar(50),
    @alerta_fumo varchar(50)
AS
BEGIN
    SELECT
        @alerta_hum = med_hum,
        @alerta_temp = med_temp,
        @alerta_lpg = med_lpg,
        @alerta_co = med_co,
        @alerta_fumo = med_fumo
    FROM 
        Bi_medicao

    IF (@alerta_hum > 10)
        INSERT INTO Bi_alerta (alerta_hum, alerta_temp, alerta_lpg, alerta_co, alerta_fumo)
        VALUES (@alerta_hum, @alerta_temp, @alerta_lpg, @alerta_co, @alerta_fumo)
END

标签: sqlsql-servertsqlstored-procedures

解决方案


没有任何样本数据、表结构等,很难重现。无论如何,我建议修改插入如下:

INSERT INTO Bi_alerta (alerta_hum, alerta_temp, alerta_lpg, alerta_co, alerta_fumo)
SELECT med_hum, med_temp, med_lpg, med_co, med_fumo
  FROM Bi_medicao
  WHERE CAST(med_hum AS INT) > 10

推荐阅读