我正在写一个存储过程,它的工作如果但不是其他。因为如果我得到正确的ID值,但其他只是给我null。SQL如果其他存储过程
SELECT @ID = ID FROM PRODUCTS WHERE SN = @SN
SELECT @Chip_ID = Chip_ID FROM PRODUCTS WHERE SN = @SN
SELECT @Power = Power From Module_Cycle WHERE ChipID = @Chip_ID
SELECT @Test_ID=Test_ID FROM TestEE_Mod WHERE [email protected] AND @TypeID = TypeID
IF(@Test_ID IS NOT NULL)
BEGIN
IF(@TypeID = '3')
BEGIN
SELECT @Temp_TestID=TestID FROM TempCycle WHERE ChipID = @Chip_ID AND @Power = 'false'
BEGIN
UPDATE TestEE_Mod SET Temp_TestID = @Temp_TestID WHERE ID = @ID AND TypeID = @TypeID
END
END
ELSE
BEGIN
SELECT @Temp_TestID=TestID FROM TempCycle WHERE ChipID = @Chip_ID AND @Power = 'true'
BEGIN
UPDATE TestEE_Mod SET Temp_TestID = @Temp_TestID WHERE ID = @ID AND TypeID = @TypeID
END
END
END
检查Test_ID FROM TestEE_Mod是否返回null或空白并打印@TypeID来检查值,其他方面您的else语句正确 –
在不相关的注释中,为什么您的'UPDATE'语句包围在它们自己的'BEGIN ... END'块? –
@JonSenchyna我以为我需要他们,但我现在把他们删除了。我不熟悉SQL,这就是为什么仍然在学习过程中。谢谢你指出。 – user2994144