杭州国际动漫节2017:MS sql server存储过程

来源:百度文库 编辑:神马品牌网 时间:2024/05/06 19:42:42
我建立了一个存储过程:
create procedure sp_addnew
@bh char(8), @rq char(10), @rcsx char(30), @zyd char(2), @gjhs char(30), @fz char(5) ,@lei char(6) as
declare addnew cursor static for select* from 日程安排 where 编号=@bh
open addnew
if @@cursor_rows>0
update 日程安排 set 日期=@rq, 日程事项=@rcsx, 重要度=@zyd,毫时=@gjhs,
有效性=@fz , 类=@lei where 编号=@bh
else
insert into 日程安排(编号,日期,日程事项,重要度,毫时,有效性,类) values(@bh,@rq,@rcsx,@zyd,@gjhs,@fz,@lei)
close addnew
deallocate addnew
go
调用时:sp_addnew ('12','32','4','5','6','7','9')
为什么总是报:第 1 行: '12' 附近有语法错误。

去掉括号,这样调用就可以了~!
sp_addnew '12','32','4','5','6','7','9'

把 char 改成 varchar

1最好使用nvarchar 这样在以后的处理会方便很多
调用时候无需 带括号 直接sp_addnew '12','32','4','5','6','7','9' 即可