当前位置: 网学 > 编程文档 > SQL SERVER > 正文

SQL server入门[第六章] 存储过程

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/18
下载{$ArticleTitle}原创论文样式
rks
  on stuinfo.stuno = stumarks.stuno
  where writtenexam<@writtenpass or labexam<@labpass
go
exec proc_stu 60,55
exec proc_stu @writtenpass = 60,@labpass = 55


(3)创建带输出参数的存储过程
use studb
go
if exists (select * from sysobjects where name = ''proc_stu'')
drop proc proc_stu
create proc proc_stu
@notpasssum int output,
@writtenpass int = 60,
@labpass int = 60
as
  print ''笔试及格线:''+convert(varchar(20),@writtenpass)
  print ''机试及格线:''+convert(varchar(20),@labpass)
  print ''------------------------------------------------------------''
  print ''参加本次考试没有通过的学员''
  select stuname,stuinfo.stuno,writtenexam,labexam from stuinfo inner join stumarks
  on stuinfo.stuno = stumarks.stuno
  where writtenexam<@writtenpass or labexam<@labpass
  select @notpasssum = count(stuno) from stumarks
  where writtenexam<@writtenpass or labexam<@labpass
go
declare @sum int
exec proc_stu @sum output,64
print ''--------------------------------------------------------------''
if @sum>3
  print ''未通过人数:''+convert(varchar(20),@sum)+''人,超过人数60%,及格分数线还应下调''
else
  print ''未通过人数:''+convert(varchar(20),@sum)+''人,已控制在60%以下,及格分数线适中''
go


………………………………………………………………………………………………………………………………………………


>处理错误信息

use studb
go
if exists (select * from sysobjects where name = ''proc_stu'')
drop proc proc_stu
go
create proc proc_stu
@notpasssum int output,
@writtenpass int =60,
@labpass int = 60
as
if (not @writtenpass between 0 and 100) or (not labpass between 0 and 100)
  begin
    raiserror (''及格线错误,请指定0-100之间的分数,统计中断退出'',16,1)
    return
  end
print ''笔试及格线:''+convert(varchar(20),@writtenpass)+
      ''    机试及格线:''+convert(varchar(20),@labpass)
print ''------------------------------------------------------------''
print ''参加本次考试没有通过的学员''
select stuname,stuinfo.stuno,writtenexam,labexam from stuinfo inner join stumarks
on stuinfo.stuno = stumarks.stuno
where writtenexam<@writtenpass or labexam<@labpass
select @notpasssum = count(stuno) from stumarks
where writtenexam<@writtenpass or&nbs

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号