2012-06-18 49 views
0

我有一個程序在SQL Server 2008笨 - SQL Server 2008中:如何獲得的參數輸出在存儲過程

CREATE PROCEDURE dbo.testing 
    @parm varchar(10), 
    @parmOUT varchar(30) OUTPUT 
AS 
BEGIN 
    SELECT @parmOUT = 'parm 1 ' + @parm 
END 

和我有一個查詢的笨frameword訪問此程序。 我使用sqlsrv_driver數據庫。

$param1 = 'test'; 
$param2 = '1'; 
$this->db->query("dbo.testing ?, ?", array($param1, $param2)); 

我已經執行過程,但我無法檢索第二個參數值($ param2)。

任何人有想法得到這第二個參數值?

感謝B4

回答

0

在你的存儲過程,要傳遞一個輸入參數和指定一個輸出參數。因此,SP應該像下面

ALTER PROCEDURE dbo.testing 
@parm varchar(10), 
@parmOUT varchar(30) OUTPUT 
AS 
BEGIN 
SELECT 'parm 1 ' + @parm 
END 

現在,一個以執行需要傳遞只是一個輸入參數上述SP進行修改

declare @out varchar(30) 
exec testing 'test', @[email protected] OUTPUT 

你只檢索結果作爲

param1test 

沒有第二個參數可以從SP中檢索。您將獲得的唯一值是您在選擇查詢中指定的值。

+0

感謝您的回答,但查詢後沒有結果值。 –

+0

您可以請更具體的,當你得到執行存儲過程時,你需要得到什麼結果 – praveen

+0

謝謝4你的迴應... 我想獲得輸出參數到變量$ param2在PHP中,而不是@ 。 –

相關問題