我正在寫一個存儲過程,它的工作如果但不是其他。因爲如果我得到正確的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