我正在創建一個從多個表中返回數據的存儲過程,因此它有幾個塊,最終導致一個臨時表。唯一的問題是它沒有生產任何東西。所有的單獨的塊似乎都起作用,但總體來說它沒有。由於某種原因,我的存儲過程沒有任何返回
我覺得我可能會缺少一些小東西,所以你的意見是讚賞。
@ref_num VARCHAR(20)
AS
BEGIN
SET NOCOUNT ON;
BEGIN TRY
DECLARE @clKey INT
DECLARE @clName VARCHAR(50)
SET @clKey = (SELECT ClearingBroker FROM DocumentRecieved WHERE ref_num = @ref_num)
SET @clName = (SELECT EB_Name FROM EB_Company WHERE EB_dtc_num = @clKey)
SELECT
a.ref_num
,b.DateSent
,b.Document as 'FormName'
,b.ClearingBroker as 'ClearingBrokerID'
,b.ExecutingBroker as 'ExecutingBrokerID'
,c.EB_Name
,a.AccountName
INTO
#Temp1
FROM
EB_Company c JOIN PBIN_records a ON c.EB_dtc_num = a.eb_key
JOIN DocumentRecieved b ON a.ref_num = b.ref_num
WHERE
a.ref_num = @ref_num
--================================================================================================
CREATE TABLE
#Temp2 (
ClearingBroker VARCHAR(50)
)
--================================================================================================
INSERT INTO
#Temp2 (
ClearingBroker
)
VALUES
(
@clName
)
--================================================================================================
SELECT
fName + ' ' + lName as 'SentBy'
INTO
#Temp3
FROM
Master_Contacts JOIN PBIN_records ON PBIN_records.eb_contact_key = Master_Contacts.contactID
WHERE
PBIN_records.ref_num = @ref_num
--================================================================================================
SELECT
#Temp1.ref_num,
#Temp1.FormName,
#Temp1.DateSent,
#Temp1.ClearingBrokerID,
#Temp2.ClearingBroker,
#Temp1.ExecutingBrokerID,
#Temp1.EB_Name,
#Temp1.AccountName,
#Temp3.SentBy
INTO
#Temp4
FROM
#Temp1, #Temp2, #Temp3
--================================================================================================
SELECT
*
FROM
#Temp4
--================================================================================================
END TRY
編輯:看來,因爲我的表之一,在它破壞了整個過程,因爲我最後的SELECT INTO是我的前三個臨時表之間的笛卡爾積的那一刻有沒有記錄。
你嘗試第二次到最後選擇沒有INTO,看看它是要插入到臨時#4 – logixologist
你有沒有承諾? – mucio
似乎沒有什麼能讓它變得如此遙遠。因爲我仍然沒有得到任何東西...... – Carson