CREATE PROCEDURE GetActiveServerURL
(
@ActiveURL VARCHAR(100) OUTPUT
)
AS
BEGIN
SELECT @ActiveURL = RedirectURL FROM HealthCheck WHERE IsPrimary=1 AND Status=1
END
错误讯息: 过程或函数'GetActiveServerURL'需要参数'@ActiveURL',这是未提供的。
由于我已将ActiveURL声明为输出参数stil,因此它需要作为输入
答案 0 :(得分:1)
您必须在通话中提及该参数也会输出。
DECLARE @ActiveURL VARCHAR(100)
EXEC GetActiveServerURL @ActiveURL OUTPUT
此处如何从SP
C#
string activeURL;
using(var conn = new SqlConnection(connectionString))
using(var command = new SqlCommand())
{
command.Connection = conn;
command.CommandText = "GetActiveServerURL";
command.CommandType = CommandType.StoredProcedure;
SqlParameter param = new SqlParameter("@ActiveURL", SqlDbType.VarChar, 100);
param.Direction = ParameterDirection.Output,
command.Parameters.Add(param);
conn.Open();
command.ExecuteNonQuery();
activeURL = param.Value;
}
答案 1 :(得分:0)
您需要使用参数调用该过程并包含OUTPUT指令。
SET @ActiveURL = 'http://'
EXEC GetActiveServerURL @ActiveURL OUTPUT
答案 2 :(得分:0)
CREATE PROCEDURE GetActiveServerURL
(
DECLARE @ActiveURL VARCHAR(100) OUTPUT
)
AS
BEGIN
SELECT @ActiveURL = RedirectURL FROM HealthCheck WHERE IsPrimary=1 AND Status=1
END
EXEC GetActiveURL @ActiveURL OUTPUT
Error : Incorrect syntax near the keyword 'DECLARE'.
消息102,级别15,状态1,过程GetActiveServerURL,第3行 'OUTPUT'附近的语法不正确。 消息137,级别15,状态1,过程GetActiveServerURL,第7行 必须声明标量变量“@ActiveURL”