SQL创建一个sproc来返回数据

时间:2017-08-07 11:08:51

标签: sql stored-procedures reporting-services

这是一个非常简单的问题让我难过。

我想要做的就是尝试从我正在创建的sproc中的表中返回一些数据,以便我可以在SSRS报告中使用它。

这是我迄今为止的尝试:

CREATE PROCEDURE GetUsageStatistics (@DisplayName VARCHAR(305))
AS 
BEGIN
SELECT DisplayName 
FROM myTable 
WHERE DisplayName = @DisplayName

现在我有一个错误告诉我Incorrect syntax near '@DisplayName'.但我不确定是什么问题。我之前用@符号创建变量的理解是我想要pass in我想要的参数但是我想要做的就是返回值。

有人可以向我解释一下我在理解sprocs如何工作以及如何纠正这个问题时失败了吗?

2 个答案:

答案 0 :(得分:2)

你肯定错过了END。这有用吗?

CREATE PROCEDURE GetUsageStatistics (
    @DisplayName VARCHAR(305)
) AS 
BEGIN
    SELECT DisplayName 
    FROM myTable 
    WHERE DisplayName = @DisplayName;
END;

注意:

  • 此存储过程不具有敏感性,因为它返回NULL或输入。
  • 您应该考虑使用函数。在这种情况下,标量函数是有意义的(假设通常只返回一行)。

答案 1 :(得分:0)

-- =============================================
USE [YourDBName]
GO
    CREATE PROCEDURE GetUsageStatistics 
        -- Add the parameters for the stored procedure here
        @DisplayName varchar(20) 
    AS
    BEGIN
        -- SET NOCOUNT ON added to prevent extra result sets from
        -- interfering with SELECT statements.
        SET NOCOUNT ON;

        -- Insert statements for procedure here

    SELECT DisplayName 
    FROM myTable 
    WHERE DisplayName = @DisplayName 

    END
    GO