举个例子:

带输入参数的存储过程
计算班级中英语和数学不及格的人数 

    if(exists(select * from sys.objects where name='usp_GetFailCount'))
        drop proc usp_GetFailCount
        go

    create proc usp_GetFailCount--开始创建存储过程
    @EngPass int,--存储过程的参数不需要加declare
    @MathPass int
    as       
       声明变量存储英语成绩不及格和数学成绩不及格的人数
        declare @engCount int
        declare @mathCount int

        --给人数赋值
        select @engCount=Count(*) from Score where english<@EngPass
        select @mathCount=Count(*) from Score where math<@MathPass

        --输出结果
        select '英语不及格的人数',@engCount
        select '数学不及格的人数',@mathCount

      执行存储过程
        exec usp_GetFailCount
        --传入两个需要的参数
        exec usp_GetFailCount 80,60
        --想让英语和数学的及格分数线都是60
        exec usp_GetFailCount @EngPass=60,@MathPass=60

   总结:

存储过程如果没有默认的参数 
传参的方式

1.直接传入跟参数类型一样的值

2.@参数名=值,个数必须跟参数要求的一致

存储过程如果有默认的参数

1.不传,采用的默认值

2.传1个,另一个就是默认值

3.传2个,会把默认值覆盖

带输出参数的存储过程

if(exists(select * from sys.objects where name='usp_GetEngFailCount'))
       drop proc usp_GetEngFailCount
    go
    create proc usp_GetEngFailCount
    @EngPass int,--输入参数
    @MathPass int,
    将数学成绩不及格的人数 使用输出参数返回
    @MathFailCount int output--输出参数
    as
      先求英语不及格的人数
 declare @EngFailCount int
      select @EngFailCount=Count(*) from Score where english<@EngPass

select @MathFailCount=Count(*) from Score where math<@MathPass

      -只打印英语不及格的人数
      select '英语不及格的人数',@EngFailCount

     Declare @mCount int
      --调用
     exec usp_GetEngFailCount 60,60,@mCount output
    输出数学不及格的人数
     select '数学不及格的人数',@mCount

C#开发学习——存储过程的更多相关文章

  1. 步步为营 SharePoint 开发学习笔记系列总结

    转:http://www.cnblogs.com/springyangwc/archive/2011/08/03/2126763.html 概要 为时20多天的sharepoint开发学习笔记系列终于 ...

  2. Android开发学习之路-RecyclerView滑动删除和拖动排序

    Android开发学习之路-RecyclerView使用初探 Android开发学习之路-RecyclerView的Item自定义动画及DefaultItemAnimator源码分析 Android开 ...

  3. web前端开发学习内容

    应该 具备的 知识技能 :懂web标准,熟练手写 xhtml css3 并符合 符合w3c标准                       代码能 兼容主流浏览器.ie6.7.8.9 ff 等.    ...

  4. Android开发学习路线图

    Android开发学习方法: Android是一个比较庞大的体系,从底层的Linux内核到上层的应用层,各部分的内容跨度也比较大.因此,一个好的学习方法对我们学习Android开发很重要. 在此建议, ...

  5. NET开发学习项目资源(2)

    NET开发学习项目资源 击标题链接即可下载. 目录: 1.征婚交友网站 前台交友信息和后台会员管理两大部分组成. 前台功能模块 该模块主要包括查询交友信息.显示交友信息.会员登录.会员信息管理.修改会 ...

  6. Civil 3D API二次开发学习指南

    Civil 3D构建于AutoCAD 和 Map 3D之上,在学习Civil 3D API二次开发之前,您至少需要了解AutoCAD API的二次开发,你可以参考AutoCAD .NET API二次开 ...

  7. 【前端】移动端Web开发学习笔记【2】 & flex布局

    上一篇:移动端Web开发学习笔记[1] meta标签 width设置的是layout viewport 的宽度 initial-scale=1.0 自带 width=device-width 最佳实践 ...

  8. 【前端】移动端Web开发学习笔记【1】

    下一篇:移动端Web开发学习笔记[2] Part 1: 两篇重要的博客 有两篇翻译过来的博客值得一看: 两个viewport的故事(第一部分) 两个viewport的故事(第二部分) 这两篇博客探讨了 ...

  9. .net 网站开发学习资源

    慕课网 前端基础学习 http://www.imooc.com/course/list?c=fe 了解需求 例子之一 http://wenku.it168.com/d_000517899.shtml ...

随机推荐

  1. C# TextBox实现全选

    A. 设置全局变量: 1.定义了个全局变量放本次点击的textbox的名字,默认为空. 2.textbox的Enter事件里SelectAll()一下 3.Click事件里判断全局变量是否是该text ...

  2. solr与.net主从复制

    solr主从复制 solr与.net系列课程(七)solr主从复制    既然solr是解决大量数据全文索引的方案,由于高并发的问题,我们就要考虑solr的负载均衡了,solr提供非常简单的主从复制的 ...

  3. Hudson安装配置、部署应用及分析

    一.部署环境 机器:一台linux虚机,内存1G,操作系统CentOS release 5.6,硬盘100G. 实验应用:乐学方舟后台部署(非正式环境) 应用环境:apache-tomcat-7.0. ...

  4. c#线程的几种启动方法

    一 启动普通线程 ThreadStart与ParameterizedThreadStart建立新线程 优缺点:简单,但难于管理,线程过多会影响系统的性能. 二 启动CLR线程池的工作者线程(普通线程和 ...

  5. 简话ASP.NET Web API

    简话ASP.NET Web API 在vs2012中,我们很容易在根据选择的ASP.NET MVC Web应用程序来新建一个Web API应用,聪明的你一定想见得到,Web API和MVC有着某种联系 ...

  6. 使用fixed制作浮动广告(注意:解决闪屏问题,但适用于高版本浏览器,低版本的浏览器不适用)

    <script language="javascript" type="text/javascript"> //隐藏广告 function clos ...

  7. char* 转换成 CString

    真是有意思: CString mess ;    mess = m_chLocalIP; 这样OK,但是写在一行就会报错 CString mess  = m_chLocalIP; //有问题

  8. 【推荐分享】Python电子书,视频教程(Let's Python系列视频教程等)(百度网盘)

    资源都放在百度网盘里了. Python视频教程(Python Django视频教程全集—台湾辅仁大学):http://pan.baidu.com/s/1dDgiWIt Python视频教程(let's ...

  9. 用户故事(User Story)

    用户故事(User Story)       用户故事是描述对用户有价值的功能,好的用户故事应该包括角色.功能和商业价值三个要素.用户故事通常的格式为:作为一个<角色>, 我想要<功 ...

  10. linux的运行级别

    一.linux共有七种运行级别,内容如下: 级别0:停机状态,系统默认运行级别如果设为0,将不能正常启动: 级别1:单用户模式,只允许root用户对系统进行维护: 级别2:多用户模式,但没有NFS(h ...