sqlserver 存储过程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlserver 存储过程相关的知识,希望对你有一定的参考价值。

if exists (select * from sysobjects where name='proc_stu3' and type='p')
drop procedure proc_stu3
go
create procedure proc_stu3
@notpassSum int output,
@markPass int=60
as
if (not @markPass between 1 and 100)
begin
raiserror('及格线错误,请指定1到100间的分数,统计中端退出',16,1)
return --立即返回,退出存储过程
end
print '未通过的成员'
select student.stu_no,stu_name,gre_mark from student inner join gread on
student.stu_no=gread.stu_no
where gre_mark<@markPass
select @notpassSum=count(stu_no) from gread where gre_mark<@markPass
go
declare @sum int,@t int
exec proc_stu3 @sum output,604
set @t=@@error
print '错误号'+convert(varchar(5),@t)
if @t<>0
return --退出批处理,后续语句不再执行
print '-------------'
if @sum>=2
print '通过人数'+convert(varchar(5),@sum)+'人,。。。。。。。。。。'
else
print '未通过人数'+convert(varchar(5),@sum)+'人,。。。。。。。。。。'
go

有些符号你写成中文的了

参考技术A 不好意思,刚有事,符号问题,改下就行。怎么改同上。来自:求助得到的回答 参考技术A 第八行那个应该是@markPass not between 1 and 100吧
还有他提示不存在存储过程是不是你先没有建立好存储过程呢,你写的存储过程好繁杂,怎么运行的代码和创建代码都在一起呢,LZ想完成什么功能呢

以上是关于sqlserver 存储过程的主要内容,如果未能解决你的问题,请参考以下文章

sqlserver 怎么更新存储过程

sqlserver 如何修改存储过程的名字

sqlserver 存储过程错误

sql server 存储过程如何调用存储过程

SqlServer存储过程

如何使sqlserver存储过程返回varchar