我在SQL Server中制作SP以进行更新。 SP已成功创建,但在执行时显示错误。下面是SP和执行。请帮帮我。
alter procedure updaterecored(@studentsrid int,
@sfirstname varchar(50), @slastname varchar(20), @semail varchar(50))
as
begin
update tbl_Students set Firstname = @sfirstname, lastname=@slastname, email=@semail
where studentid=@studentsrid
end
然后执行
exec updaterecored(4, 'dipika', 'Sharma', 'ds@gmail.com')
答案 0 :(得分:2)
执行程序时,请勿使用大括号。使用此
exec updaterecored 4,'dipika','Sharma','ds@gmail.com'
答案 1 :(得分:0)
更新语句中的变量与您传递的变量不匹配。 @SEmail和@semail是不同的值。将SP中的更新语句更改为
update tbl_Students set Firstname = @sfirstname, lastname=@SLastname ,email=@SEmail
where studentid=@studentsrid
编辑: 还要检查你的专栏名称Firstname有一个大写但是姓氏不是,你的表格中是否有这样的名字?
答案 2 :(得分:0)
这里有问题你有@semail和@SEmail是两个不同的变量。我已经更改了下面的代码。现在它应该可以工作。
alter procedure updaterecored(@studentsrid int,
@sfirstname varchar(50),@SLastname varchar(20),@SEmail varchar(50))
as
begin
update tbl_Students set Firstname = @sfirstname, lastname=@slastname,email=@SEmail
where studentid=@studentsrid
end
-- exec updaterecored 4,'dipika','Sharma','ds@gmail.com'