我有檢索與我下面的存儲過程的查詢準確數據值的問題:SQL語法問題(多選擇)
CREATE PROCEDURE usp_InvoiceErrorLog
@RecID int
AS
DECLARE @ErrorString as varchar(1000),
@ErrorCode as int;
Select @ErrorCode = ErrorCode from tbl_AcctRecv_WebRpt Where RecID = @RecID;
IF NOT(@ErrorCode = NULL)
Begin
Select @ErrorString = ErrorDesc from tbl_ErrDesc Where ErrorCode = @ErrorCode
End
Select RecID, VendorNum, VendorName, InvNum, InvTotal, (SELECT CONVERT(VARCHAR(11), InvDate, 106) AS [DD MON YYYY]) As InvDate,
TicketRequestor, ErrorCode, @ErrorString as ErrorDesc
from tbl_AcctRecv_WebRpt Where RecID = @RecID
的ErrorDesc列(在底部最後的SELECT語句)返回NULL值,當它應該返回一個有效的字符串數據。
任何想法?
如果錯誤代碼不爲空,ErrorDesc應該總是返回一個值; 你爲什麼要做SELECT ErrorDesc WHERE RecID = @ RecID?你沒有加入ErrorCode – user279521 2010-06-18 15:09:10
@ user279521,在我的第一個例子中,我只是告訴你做一個查詢。請參閱我的其他代碼,它適用於我。 – JonH 2010-06-18 15:12:39
@ user279521 - 將我的代碼複製並粘貼到SSMS中,然後運行查詢,然後在stackoverflow中更改具有一堆userXXXXXXX的別名:)難以管理。 – JonH 2010-06-18 15:13:07