INSERT INTO TEMP_TABLE (aNumber, aDate) VALUES ((aSproc param1, param2) , myDate)
我需要傳遞存儲過程,並將參數作爲插入語句的參數傳遞。這可能嗎?是否可以使用存儲過程作爲參數
INSERT INTO TEMP_TABLE (aNumber, aDate) VALUES ((aSproc param1, param2) , myDate)
我需要傳遞存儲過程,並將參數作爲插入語句的參數傳遞。這可能嗎?是否可以使用存儲過程作爲參數
這將取決於存儲過程返回的內容。存儲過程返回SP中發出的最後一個選擇所產生的表。所以如果你的SP以SELECT NULL
結尾,那麼你的SP將返回NULL,然後你的插入將返回NULL。對於您必須工作的內容,您必須確保存儲過程只返回一個值,即一行一列的表。
原因是因爲您的插入操作期望將單個值作爲其值子句的一部分,並且您可能會返回多行和多列。你可以通過以SELECT 1
來結束你的SP來測試這個,它會將int返回給你的插入,然後它會有一個值類型,它可以理解爲它的值子句的一部分。
另外發布你的SP將幫助我們調試它。
謝謝約翰。該sproc返回一個單一的值,如果我插入與INSERT INTO語句只有一列它的作品。我無法弄清楚的是如何在SQL Server抱怨的情況下在INSERT INTO語句中使用sproc AND另一個參數。 因此,它不是我遇到的問題,它將它用作INSERT INTO語句的參數,我遇到了麻煩... – MrCoincidence 2013-04-24 17:02:06
您可以隨時使用變量來存儲SP的結果然後將該變量設置爲INSERT語句。 – usumoio 2013-04-24 17:07:37
@MrCoincidence但是,這是很難幫助解決而不看你的存儲過程 – usumoio 2013-04-24 17:29:43
你應該嘗試一下,讓我們知道... – jcho360 2013-04-24 16:51:36
我做了嘗試,我無法使它工作,這就是爲什麼我發佈這個問題。 – MrCoincidence 2013-04-24 16:56:03
什麼樣的人會投下一個問題? – MrCoincidence 2013-04-24 17:42:52