2017-05-04 46 views
0

我開始寫這個SP只發現它不起作用。如果我不需要,我不想兩次ping服務器。我基本上需要櫻桃挑選托盤已經存在的部分(變量指定爲參數),如果它們不存在,只需選擇頂部。問題是,我想將它作爲記錄集返回,所以我得到下一個X部分。我需要對托盤進行「預測」。存儲過程測試返回記錄集

SET @test = (SELECT [SERIAL_NUMBER] FROM [ROBOTICS_OPTICS_MECHUAT].[dbo].[AOF_ORDER_OPTICS] 
    WHERE ([RACK] = @leftStack AND [TRAY] = @leftTray) 
    OR ([RACK] = @midStack AND [TRAY] = @midTray) 
    OR ([RACK] = @rightStack AND [TRAY] = @rightTray)) 

IF NULLIF(@test, '') IS NULL 
    BEGIN 
     SELECT TOP 6 [RACK], [TRAY], [POSITION] FROM [ROBOTICS_OPTICS_MECHUAT].[dbo].[AOF_ORDER_OPTICS] 
      WHERE ([RACK] = @leftStack AND [TRAY] = @leftTray) 
      OR ([RACK] = @midStack AND [TRAY] = @midTray) 
      OR ([RACK] = @rightStack AND [TRAY] = @rightTray) 
    END 
ELSE 
    BEGIN 
     SELECT TOP 6 [RACK], [TRAY], [POSITION] FROM [ROBOTICS_OPTICS_MECHUAT].[dbo].[AOF_ORDER_OPTICS] 
    END 

回答

1

你需要讓你的選擇測試值分配給您的變量,像這樣:

SELECT @test = [SERIAL_NUMBER] FROM [ROBOTICS_OPTICS_MECHUAT].[dbo].[AOF_ORDER_OPTICS] 
WHERE ([RACK] = @leftStack AND [TRAY] = @leftTray) 
    OR ([RACK] = @midStack AND [TRAY] = @midTray) 
    OR ([RACK] = @rightStack AND [TRAY] = @rightTray) 
+0

阿易小姐,我猜。我整天都在'巡航控制':) – Jaberwocky

相關問題