0
我執行下面的存儲過程返回0值不返回預期的值:存儲過程
CREATE PROCEDURE [dbo].[sproc_tblBook_DisplayReservations]
@bor_id varchar (9)
AS
SELECT bor_id, isbn, bk_author, bk_title,
cop_loan_type, cop_status, res_date
FROM tblBook, tblReservation, tblCopy, tblBorrower
WHERE
tblReservation.res_cleared_date = NULL
AND
tblBook.isbn = tblReservation.fk1_isbn
AND
tblBook.isbn = tblCopy.fk1_isbn
AND
tblBorrower.bor_id = tblReservation.fk2_bor_id
AND
bor_id = @bor_id;
RETURN 0
期望的結果,當然,是它示出了匹配那裏的條件標準哪些記錄。
這樣的記錄存在,但他們沒有顯示。
我確定我的語法正確,所以我完全和完全難住。
一目瞭然,如果你有建議,請告訴。
我已經在這裏鏈接我的程序,任何人都需要仔細觀察。
不幸的是,我認爲這對於幫助我解決這個問題非常重要,但是如果有人讀到這一點,非常感謝。
下面的鏈接是我的計劃,我在Visual Studio中工作(.zip文件 - 隨時升級,如果有必要的.mdf文件/ SQL服務器): http://s000.tinyupload.com/index.php?file_id=07002279584481194620
請,如果你有時間,下載我的程序,看看你是否能找到問題!
*不要*的'FROM'子句中使用逗號。 *總是*使用正確的,明確的'JOIN'語法。 –
同意。按原樣解釋代碼也有點困難。爲每個表使用別名,並明確限定每個字段。例如:'從tblBook b'選擇b.author。我個人偏向於左連接,但這只是我在處理數據方面的偏好,在這裏可能更適合其他類型。 FROM子句中的逗號雖然對所有內容都做了大量的加入,但這不是你想要的。 – SandPiper
標記使用的dbms,該代碼是產品特定的。 – jarlh