【问题标题】:Returning a string in SQL from a stored procedure从存储过程返回 SQL 中的字符串
【发布时间】:2011-11-18 14:46:10
【问题描述】:

SQL可以返回字符串吗?

我有一个存储过程,这会创建一个不错的文本字符串。我是否必须将其传递到临时表中并以某种方式从 C# 中读取它,或者我可以简单地返回一个字符串

【问题讨论】:

    标签: c# sql sql-server sql-server-2005


    【解决方案1】:

    只需在存储过程的末尾添加即可:

    select myString
    
    【解决方案2】:

    如果存储过程只返回一行,只需调用ExecuteScalar,它会返回您执行的查询的第一行和第一列。这是一篇关于该主题的MSDN 文章。

    【讨论】:

      【解决方案3】:

      我建议您使用FUNCTION 而不是STORED PROCEDURE。您可以从函数中返回表格或任何您想要的内容。

      虽然有一些限制。您可以更深入地挖掘差异以查看何时使用什么。这是一个可以帮助您入门的链接:

      Function vs. Stored Procedure in SQL Server

      如果您仍然想使用存储过程,您可以使用 SELECT 返回单行单列结果集,或者只使用输出参数。

      【讨论】:

        【解决方案4】:

        选择“确定”

        返回“确定”

        你可以试试

        【讨论】:

          【解决方案5】:

          已通过使用 XML PATH 修复并选择为文本。

          【讨论】:

            【解决方案6】:

            我会问你为什么要从 SQL Server 返回一个字符串?有时它可能是合适的,但 SQL Server 旨在返回数据集。如果您正在查看个人价值观,您可能需要重新考虑您的架构。

            带回整行。决定将其过滤到业务端的单个列(在 .NET 中)。如果您担心优化,请使用 DataReader。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2016-05-07
              • 1970-01-01
              • 2017-08-24
              • 2020-10-10
              • 1970-01-01
              • 2011-10-19
              • 2011-09-20
              • 2014-10-20
              相关资源
              最近更新 更多