2012-09-13 90 views
-5

我使用SQL Server Management Studio 2012.當我嘗試創建存儲過程並執行它時,它每次都會返回一個錯誤。我真的無法弄清楚什麼是錯的。SQL Server 2012存儲過程錯誤消息102

例如:

use AdventureWorks2012 
CREATE PROCEDURE test() SELECT * FROM [Sales].[SalesPerson] 

和錯誤是:

消息102,級別15,狀態1,過程測試,行1個
附近有語法錯誤 ')'。

即使我只是寫CREATE PROCEDURE TEST

它會返回錯誤?我究竟做錯了什麼 ?

+0

你用什麼數據庫? SQL Server? MySQL的? – hgulyan

+2

你甚至可以看看語法的文檔嗎?我假設MS SQL服務器,因爲我在你的代碼中看到AdventureWorks數據庫引用http://msdn.microsoft.com/en-us/library/ms187926.aspx – InSane

回答

3

試試這個代碼:

CREATE PROCEDURE test 
as   
begin    
    SELECT * FROM [Sales].[SalesPerson] 
end 
go 

您必須刪除(),如果你的程序並不需要的參數,並添加as,可選begin-end(這是更可用)。

如果你想參數將來添加到您的程序:

CREATE PROCEDURE test 
(
    @param1 int 
) 
as   
begin    
    SELECT * FROM [Sales].[SalesPerson] 
    where id = @param1 
end 
go 
+0

Coool !!!感謝你的幫助,你們倆都是對的:)它現在可以工作 –

2

創建過程時

use AdventureWorks2012 
GO 

CREATE PROCEDURE test 
AS 
SELECT * FROM [Sales].[SalesPerson] 
GO 

此外,您可以添加BEGIN and END如果您有多個查詢就可以了你應該有AS關鍵字。

+0

我只是複製並粘貼你寫的東西,看看會發生什麼 https ://dl.dropbox.com/u/92037912/error.jpg 我真的不知道,我剛剛在學校開始這個,我不知道我到底在做什麼。 –

+0

錯誤表示''數據庫中已經有一個名爲'test'的對象,這意味着您的語法已經正確,但問題是數據庫中已經存在對象名稱'test'。嘗試'CREATE PROCEDURE sp_test'使其更具描述性 –

相關問題