且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

SQL:创建过程时出错

更新时间:2023-11-17 11:38:40

>
错误消息说明解决方案本身。你不能在create procedure语句上面添加声明语句,Create语句必须是查询批处理中的第一个语句。删除那些变量声明它应该有效。



问候,

Amol Birar


在创建过程语句之前放置GO。 GO语句必须单独排在一行:

  GO  
create procedure add_Emp @ EmployeeNo nvarchar 50 ), @ EmployeeName nvarchar 50 ), @ Address nvarchar 50 ), @ Phone nvarchar 50 ), @ Department nvarchar 50 ), @ Gender nvarchar 50 ), @ IsA vailable
AS
开始
插入 进入 employee1(EmployeeNo,EmployeeName,Address,电话,部门,性别,IsAvailable) @ EmployeeNo @EmployeeName @ Address @ Phone @Department @ Gender @ IsAvailable
端跨度>


EmployeeName nvarchar(50),
Address nvarchar(50),
Phone nvarchar(50),
Department nvarchar(50),
Gender nvarchar(50),
IsAvailable bit)

--add procedure

create procedure add_Emp @EmployeeNo nvarchar(50),@EmployeeName nvarchar(50),@Address nvarchar(50),@Phone nvarchar(50),@Department nvarchar(50),@Gender nvarchar(50),@IsAvailable bit
AS
Begin
insert into employee1(EmployeeNo,EmployeeName,Address,Phone,Department,Gender,IsAvailable) values (@EmployeeNo,@EmployeeName,@Address,@Phone,@Department,@Gender,@IsAvailable)
end



---error message

Quote:

Msg 111, Level 15, State 1, Procedure add_Emp, Line 12 'CREATE/ALTER PROCEDURE' must be the first statement in a query batch.

Hi,
Error message states solution itself. you cannot add declare statements above create procedure statement,Create statement has to be first statement in query batch .Remove those variable declaration and it should work.

Regards,
Amol Birar


Place GO right before your Create procedure statement. The GO statement must be on a line by itself:
GO
create procedure add_Emp @EmployeeNo nvarchar(50),@EmployeeName nvarchar(50),@Address nvarchar(50),@Phone nvarchar(50),@Department nvarchar(50),@Gender nvarchar(50),@IsAvailable bit
AS
Begin
insert into employee1(EmployeeNo,EmployeeName,Address,Phone,Department,Gender,IsAvailable) values (@EmployeeNo,@EmployeeName,@Address,@Phone,@Department,@Gender,@IsAvailable)
end