举个例子:

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

    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. 用批处理编译*.sln工程

    原文:用批处理编译*.sln工程 批处理是直接调用Microsoft Visual Studio 8\Common7\IDE\ 目录内的 devenv.exe ,它启动后就是IDE,提供的参数如下: ...

  2. 深入了解jsonp解决跨域访问

    在这个项目中,我们做的充分利用jsonp这是一个特点跨界,完成简单的单点登录认证和权限控制的统一.道,各有各的优点.各有各的优点,选择什么方式实现全然取决于我们自己或者项目经理的开发经验,对各种框架的 ...

  3. knob.js进度插件

    关于knob.js进度插件的使用 关于这个插件,妹的,第一次使用坑死爹了,各种不会,幸亏我有持之以恒的精神,最终还是让其臣服于我的胯下.... 1.  引入 head  部分添加knob.js,同时引 ...

  4. leetcode第40题--First Missing Positive

    题目: Given an unsorted integer array, find the first missing positive integer. For example,Given [1,2 ...

  5. Android 实现用户列表信息的功能,然后选择删除幻灯片删除功能

    在项目开发过程中.经常须要对用户列表的信息进行删除的操作.Android中经常使用的删除操作方式有两种 .一种就是类似微信的滑动出现删除button方式,另一种是通过CheckBox进行选择.然后通过 ...

  6. .Net下简单地实现MD5加密

    在.Net中为我们提供了一个方法HashPasswordForStoringInConfigFile,可以简单方便地实现MD5加密.该方法位于System.Web命名空间下,所以需要在引用中添加Sys ...

  7. ibatis提示Unable to load embedded resource from assembly "Entity.Ce_SQL.xml,Entity".

    原本以为是xml文件配置错误,尝试无果,最终原因未将xml文件的生成操作选择为嵌入的资源.很无语!

  8. Web应用和RESTful架构

    Web应用和RESTful架构 单页Web应用 概述 单页Web应用并不是突然诞生的一门新技术,而是web展示的一种新的尝试.它将所有的动作局限于一个Web页面,在加载站点首页的时候就加载站点需要的J ...

  9. SZU:D89 The Settlers of Catan

    Judge Info Memory Limit: 65536KB Case Time Limit: 3000MS Time Limit: 3000MS Judger: Number Only Judg ...

  10. VS2010生成安装包制作步骤

    VS2010生成安装包制作步骤   在VS2010中文旗舰版本中生成winForm安装包,可以复制你电脑中的开发环境,避免你忘记了一下配置然后在别的机器上运行不起来.也省去了Framwork的安装. ...