Sql 从存储过程返回Varchar值

Sql 从存储过程返回Varchar值,sql,procedure,Sql,Procedure,我有以下返回varchar值的基本存储过程 create proc myproc AS return 'SSS' 现在,当我使用以下查询调用此存储过程时 declare @ret varchAR(max) exec sp_executesql N'exec @ret =procc', N'@ret varchar(MAX) OUTPUT',@ret = @ret OUTPUT select @ret as result 我得到了以下错误 将varchar值“SSS”转换为数据类型int

我有以下返回varchar值的基本存储过程

create proc myproc
AS
return 'SSS'
现在,当我使用以下查询调用此存储过程时

declare @ret varchAR(max)
 exec sp_executesql N'exec @ret =procc', 
N'@ret varchar(MAX) OUTPUT',@ret = @ret OUTPUT select @ret  as result
我得到了以下错误

将varchar值“SSS”转换为数据类型int时,转换失败

请帮忙


谢谢,MS SQL Server中的存储过程只能返回整数

是否要改为使用输出参数

CREATE PROC [myproc]
    @output VARCHAR(3) OUTPUT
AS
    SET @output = 'SSS';
RETURN 0;
你可以这样称呼它

DECLARE @output VARCHAR(3);
EXEC [myproc] @output OUTPUT;
SELECT @output;
或者您更愿意返回标量结果集

CREATE PROC [myproc]
AS
    SELECT 'SSS';
RETURN 0;
通过简单地执行,它将返回相同的结果

EXEC [myproc];

MS SQL Server中的存储过程只能返回整数

是否要改为使用输出参数

CREATE PROC [myproc]
    @output VARCHAR(3) OUTPUT
AS
    SET @output = 'SSS';
RETURN 0;
你可以这样称呼它

DECLARE @output VARCHAR(3);
EXEC [myproc] @output OUTPUT;
SELECT @output;
或者您更愿意返回标量结果集

CREATE PROC [myproc]
AS
    SELECT 'SSS';
RETURN 0;
通过简单地执行,它将返回相同的结果

EXEC [myproc];

由于MS SQL Server中的存储过程只能返回整数,请尝试选择该值,而不是返回该值:

create proc myproc AS SELECT 'SSS'

由于MS SQL Server中的存储过程只能返回整数,请尝试选择该值,而不是返回该值:

create proc myproc AS SELECT 'SSS'
有输出参数

create proc myproc
(@value varchar(100) output)
AS
select @value='SSS'

GO

declare @ret varchAR(max)
 exec sp_executesql N'exec @ret =procc', 
N'@ret varchar(MAX) OUTPUT',@ret = @ret OUTPUT select @ret  as result
有输出参数

create proc myproc
(@value varchar(100) output)
AS
select @value='SSS'

GO

declare @ret varchAR(max)
 exec sp_executesql N'exec @ret =procc', 
N'@ret varchar(MAX) OUTPUT',@ret = @ret OUTPUT select @ret  as result

若要从存储过程返回值,必须为此声明一个输出参数

希望下面的代码能帮助你

create proc myproc
@outputvalue VARCHAR (16) output
AS
set @outputvalue='SSS'
select @outputvalue

若要从存储过程返回值,必须为此声明一个输出参数

希望下面的代码能帮助你

create proc myproc
@outputvalue VARCHAR (16) output
AS
set @outputvalue='SSS'
select @outputvalue

什么是“输出”?基本上是我的答案,2分钟后,没有解释。什么是
out
?基本上是我的回答,2分钟后,没有解释。如果这个sp有参数,我将如何调用它?如果它有参数,我将如何调用它?