2017-08-07 53 views
0

這是一個非常簡單的問題,讓我難住。SQL創建sproc返回數據

我想要做的就是嘗試並從我創建的spro中的表中返回一些數據,以便我可以在SSRS報告中使用它。

這裏是我的嘗試迄今:

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

現在我有一個錯誤,告訴我Incorrect syntax near '@DisplayName'.但我不知道什麼是錯的。我理解用@符號創建變量之前,我想要pass in參數我想要但我想要做的是返回值。

有人可以請我解釋我在哪裏我的理解sprocs如何工作,我怎麼能糾正這個失敗?

+0

@juergend試過了,但還是得到同樣的錯誤,我會更新我的代碼示例 – N0xus

回答

2

你絕對缺少END。這是否工作?

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

注:

  • 該存儲過程是無意義的,因爲它返回要麼NULL或輸入。
  • 您應該考慮使用函數。在這種情況下,標量函數是有意義的(假設通常只返回一行)。
+0

謝謝,已經停止的錯誤。這是我第一次製作一個存儲過程,我想要做的就是從我的表中返回DisplayName的值。我四處尋找示例,這似乎是如何做到這一點。我對SQL函數一無所知 – N0xus

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