1 sql-server stored-procedures
当我尝试创建一个过程时,我收到一条错误消息:
SQL80001:不正确的语法:“Create Procedure”必须是批处理中的唯一语句
这是我的程序:
CREATE PROCEDURE [dbo].[USP_UserRoles_Select]
(
@Rolename VARCHAR(30) = ''
)
AS
BEGIN
Select ID,Name
FROM
AspNetRoles
WHERE
Name like @Rolename +'%'
END
Run Code Online (Sandbox Code Playgroud)
错误是什么意思以及如何修复它?
你只需要GO在你的CREATE PROCEDURE. 你上面还有其他东西,它需要在自己的批次中。因此,GO这是需要的。
GO
CREATE PROCEDURE [dbo].[USP_UserRoles_Select]
(
@Rolename VARCHAR(30) = ''
)
AS
BEGIN
Select ID,Name
FROM
AspNetRoles
WHERE
Name like @Rolename +'%'
END
GO
Run Code Online (Sandbox Code Playgroud)
一GO,如果有代码之后的剧本后,也需要END。该BEGIN和END语句是多余所以批处理中的所有代码将存储过程的一部分。