【问题标题】:SQL Server 2012 stored procedure error Msg 102SQL Server 2012 存储过程错误消息 102
【发布时间】:2012-09-13 07:35:51
【问题描述】:

我使用 SQL Server Management Studio 2012。当我尝试创建存储过程并执行它时,它每次都返回错误。我实在想不通怎么回事。

例如:

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

错误是:

消息 102,第 15 级,状态 1,程序测试,第 1 行
')' 附近的语法不正确。

即使我只是写CREATE PROCEDURE TEST

它会返回错误吗?我究竟做错了什么 ?

【问题讨论】:

标签: sql stored-procedures sql-server-2012


【解决方案1】:

试试这个代码:

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

【讨论】:

    【解决方案2】:

    创建过程时应该有AS关键字

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

    此外,如果您有多个查询,您可以添加BEGIN and END

    【讨论】:

    • 我只是复制并粘贴你写的内容,看看会发生什么dl.dropbox.com/u/92037912/error.jpg我真的不知道,我刚从学校开始,我不知道我到底在做什么。
    • 错误提示 There is already an object named 'test' in the database 这意味着您的语法已经正确,但问题是对象名称 test 已经存在于数据库中。尝试CREATE PROCEDURE sp_test 使其更具描述性
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多