返回/结果字符串的存储过程

| 我刚刚开始工作/学习商店程序。我只是想知道存储过程是否可能返回字符串。 现在,我正在处理的存储过程使用一个参数(客户编号)并返回两个字段-车辆编号和ETA。我只是想知道是否可以将其放在诸如“您的车辆编号为1234,且在10分钟内具有ETA的车号为1234”这样的字符串,或者是否会返回没有值的某种消息。 提前致谢。     
已邀请:
CREATE PROCEDURE GetVehicleInfo 
@CustId INT 
OUTPUT AS

  RETURN (SELECT \'Your vehicle # is \' + id + \' with ETA in \' + ETA + \' minutes\' 
          FROM YourTable WHERE CustId = @CustId )

GO
    
好吧,一旦我返回了完整的链接:)例如,在MSSQL中,您可能首先在过程中声明了一个结果表,并且在过程结束时可以执行以下语句:
SELECT \'whatever string you want to put\' + columnName + \' whatever...\' FROM @result
其中@result是声明的表 编辑:columnName类型为INT的情况下,可以使用CONVERT函数。希望这可以帮助。     
对于Sql Server,它就像下面的代码一样简单:
select \'Your vehicle # is \' + vehiclenum + \' with ETA in \' eta \' minutes\' from table_1
where your_select_criteria
在此,sql vehiclenum和eta都是table_1的列名,但是您也可以在此查询中进行联接。 如果Vehiclenum是一个int,则需要使用convert函数将其转换,如下所示:
select \'Your vehicle # is \' + convert(varchar(10), vehiclenum) + \' with ETA in \' eta \' minutes\' 
from table_1
where your_select_criteria
最后一个难题是将价值带到代码中。照原样,这将返回一个记录集。 使用SqlClient时,将使用ExecuteScalar方法,如MSDN上所述。
var outputText = cmd.ExecuteScalar();
    

要回复问题请先登录注册