举个例子:

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

    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. PDF解决方案(3)--PDF转SWF

    相关专题链接 PDF解决方案(1)--文件上传 PDF解决方案(2)--文件转PDF PDF解决方案(3)--PDF转SWF PDF解决方案(4)--在线浏览 前言:上一篇中介绍了上传的文件转PDF, ...

  2. 进击的Android注入术《二》

    继续 在<一>里,我把基本思路描写叙述了一遍,接下为我们先从注入開始入手. 注入 分类 我们平时所说的代码注入,主要静态和动态两种方式 静态注入,针对是可运行文件,比方平时我们改动ELF, ...

  3. SQLServer通过链接服务器远程删除数据性能问题解决

    原文:SQLServer通过链接服务器远程删除数据性能问题解决 在上一遍文章中介绍了SQLServer通过链接服务器访问Oracle性能问题的解决方法,本文介绍链接服务器下远程删除SQLServer数 ...

  4. PHP中生成验证码

    //生成图片$im = imagecreatetruecolor(100,30);//生成颜色,当第一次调用生成颜色的方法,是生成背景颜色,默认是黑色//如果想自定义背景颜色,用到imagefill函 ...

  5. .NET : 使用代码性能分析工具

    NET : CLR Profiler的使用 经常讲课的时候会提到值类型和引用类型,也会提到如何查看它们的大小.多次被朋友问到,如何真的想要知道到底每个方法分配了多少内存之类的问题,其实这可以通过CLR ...

  6. Http Pipeline详细分析(下)

    Http Pipeline详细分析(下) 文章内容 接上面的章节,我们这篇要讲解的是Pipeline是执行的各种事件,我们知道,在自定义的HttpModule的Init方法里,我们可以添加自己的事件, ...

  7. 增删查改-MySQL

    查询: 在MySQL中,select的基本语法形式: select 属性列表 from 表名和视图 [where 条件表达式] [group by 属性名 [having 条件表达式]] [order ...

  8. go语言defer使用

    defer Go语言中有种不错的设计,即延迟(defer)语句,你可以在函数中添加多个defer语句.当函数执行到最后时,这些defer语句会按照逆序执行,最后该函数返回.特别是当你在进行一些打开资源 ...

  9. 一个Shell小脚本——旋转的斜杠

    话不多说,请从代码中寻找乐趣吧! #!/bin/bash #----中断计数器----# incr= #----旋转的斜杠----# spin="/-\|" echo -en &q ...

  10. Navicat Premium 11.0.10破解补丁

    Navicat Premium 11.0.10破解补丁   Navicat Premium 是一个可多重连接的数据库管理工具,让你以单一程序同時连接到 MySQL.SQL Server.SQLite. ...