Я пытаюсь создать хранимую процедуру SQL Server с выводом
SQL-сервер
CREATE PROCEDURE sp_test1
@in_var VARCHAR(20),
@out_var VARCHAR(50) OUTPUT
AS
BEGIN
SELECT * FROM Company WHERE COM_ID=1
SELECT @out_var = 'Hello, ' + @in_var
END
PHP
$result = "";
$sql = "{CALL sp_test1(?,?)}";
$param = array(
array("Andy",SQLSRV_PARAM_IN),
array($result, SQLSRV_PARAM_OUT, SQLSRV_PHPTYPE_STRING(SQLSRV_ENC_CHAR), SQLSRV_SQLTYPE_VARCHAR(50))
);
$stmt = sqlsrv_query($conn, $sql, $param);
echo $result;
Когда я повторяю результат, вместо 'Hello, Andy' возвращается мусорный текст. Я понимаю, что не могу поместить более двух операторов выбора, если я удалил первый выбор, результат будет в порядке. Но мне нужен оператор select для некоторой логики.
SELECT * FROM Company WHERE COM_ID=1 -- will be used in logic later
SELECT @out_var = 'Hello, ' + @in_var -- i just want to output this!
Итак, как я могу заставить выводить только ПОСЛЕДНИЙ оператор SELECT??