2013-06-28 62 views
0

我有一個基於用戶選擇的輸入變量,然後基於這個變量設置爲什麼,數據將是「不同的」。IF variable ='something'INSERT IF variable ='somethingelse'INSERT

選項爲'數字'或'日期'。

因此,如果用戶輸入'數字',將按數字獲取數據,如果他們選擇'日期',他們將按日期獲取數據。

程序中有很多事情要做,但我遇到麻煩的是結束。根據變量的設置,我必須插入#ResultsTable

所以,我需要用我的IF語句,我有什麼是幫助...

IF @Input = 'Number' 
BEGIN 
    Insert records into #ResultsTable 
END 
ELSE 
IF @Input = 'Date' 
    Insert records into #ResultsTable 
END 
SELECT * FROM #ResultsTable 

所以,當我運行存儲過程,其中@Input變量是「日期」我得到的錯誤是,它說

無效的對象名'#ResultsTable'。

@Input變量爲'數字'時,它正常工作。

+0

後,你需要一個「日期「後‘BEGIN’和前‘插入’ – Niro

回答

0

如果查詢不是:

IF @Input = 'Number' 
    BEGIN Insert records into #ResultsTable 
END 
ELSE IF @Input = 'Date' 
    BEGIN Insert records into #ResultsTable 
END 
SELECT * FROM #ResultsTable 

我想你忘記了「BEGIN」 @Input = 'Date'

+0

好,?我添加了'BEGIN',它仍然不起作用,它給了我一些'行受影響',但是在第四個之後,這是我得到錯誤的地方。 – user2211628

+0

如果某些行正在插入,但它在某一行上失敗,聲音就像數據問題一樣,檢查你想要插入第5行的數據(如果4插入正確) – Niro

+0

好吧,現在我有一個e嶄新的問題。它根本不分析ELSE語句。我確定它的錯誤點像一個愚蠢的東西。非常感謝你的幫助。看起來我會一直盯着代碼呃! – user2211628

相關問題