2012-06-18 48 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中,而不是@ 。 –

相关问题