当前位置:数据库 > SQLServer >>

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
其他:不好意思,刚有事,符号问题,改下就行。怎么改同上。 第八行那个应该是@markPass not  between 1 and 100吧
还有他提示不存在存储过程是不是你先没有建立好存储过程呢,你写的存储过程好繁杂,怎么运行的代码和创建代码都在一起呢,LZ想完成什么功能呢 

上一个:msde(sqlserver 2000 )安装失败
下一个:安装了sqlserver 2005 为什么管理工具—> 服务里meiysqlserveragent服务

Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,