sql存储过程实例详解_sql server创建存储过程

sql存储过程实例详解_sql server创建存储过程问题提出  我使用过几次SQLServer,但所有与数据库的交互都是通过应用程序的编码来实现的。我不知到在哪里使用存储过程,也不了解实现存储过程需要做哪些工作。希望能详细说明。  存储过程是存储于数据库中的一组T-SQL语句。有了存储过程之后,与数据库的交互就没有必要在程序中写一堆的SQL语句,而只需用一条语句调用适当的存储过程来完成就可以了。另外,由于代码是存储在数据库

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

问题提出

  我使用过几次SQL Server,但所有与数据库的交互都是通过应用程序的编码来实现的。我不知到在哪里使用存储过程,也不了解实现存储过程需要做哪些工作。希望能详细说明。

  存储过程是存储于数据库中的一组T-SQL语句。有了存储过程之后,与数据库的交互就没有必要在程序中写一堆的SQL语句,而只需用一条语句调用适当的存储过程来完成就可以了。另外,由于代码是存储在数据库中,我们也可以在不同的应用程序或查询窗口中不断的重复利用那些代码。下面将讲述一些简单的例子,它们将说明如何构造和使用存储过程。

 

  下面的例子将简单的说明如何创建存储过程。以下所有例子均使用AdventureWorks数据库。其它的数据库和应用程序可以依此类推。

 

 

  例 1 – 简单的存储过程 中国网管联盟www.bitscn.com

  这个简单的存储过程将实现如下功能:从Person.Contact表中取出第一条记录。

 

 

CREATE PROCEDURE uspGetContact
  AS
  SELECT TOP 1 ContactID, FirstName, LastName
  FROM Person.Contact

  创建完上面的语句后,使用下面的命令可以执行该存储过程。

EXEC uspGetContact

 

  查询的结果如下:

 

 

 

  例 2 – 带参数的存储过程

 

  这个例子在上个例子的基础上做了一点修改:传入了一个参数,根据传入的参数来查询相应的记录。为了更好地利用上面的例子,这次我们就不用重新再创建一个存储过程了,而是使用ALTER PROCEDURE(注意:不是CREATE PROCEDURE)来修改例1中已经创建好的存储过程。代码如下: 中国网管论坛bbs.bitsCN.com

ALTER PROCEDURE uspGetContact @LastName NVARCHAR(50)
  AS
  SELECT TOP 1 ContactID, FirstName, LastName
  FROM Person.Contact
  WHERE LastName = @LastName

 

  下面显示了运行存储过程的2种不同方法。第一种方法仅仅传入了我们想要的参数值。而第二种方法包含了参数名和参数值。任意一种方法都可以运行该例中的存储过程。

EXEC uspGetContact ‘Alberts’
  EXEC uspGetContact @LastName=’Alberts’

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189093.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JAVA 正则表达式 (超详细)

    JAVA 正则表达式 (超详细)新网站上线欢迎大家网站交易中心在这里你可以购买或者出售你的网站。网站信息发布中心在这里有各种交易信息的发布。同时提供一些软件的免费使用(附有源码)。网站博客系统这里你可以注册自己的博客。一个账户无限量博客联系方式:support@websiteempire.cnQQ:563828566MSN:zhuhailin123@hotmail.com

    2022年7月19日
    8
  • windows搭建php环境_如何安装php环境

    windows搭建php环境_如何安装php环境使用apache+php+mysql的方式一、安装mysql1、下载mysql,下载地址:https://dev.mysql.com/downloads/installer/2、下载完成后解压我解压的路径是:D:\ProgramFiles\mysql-8.0.253、配置文件首先在解压的路径下查看是否含有my.ini的文件,如果没有则新建一个,内容如下:[mysqld]#设置3306端口port=3306#设置mysql的安装目录basedir=D:\ProgramFiles\

    2022年9月15日
    0
  • Java 学生成绩管理系统「建议收藏」

    Java 学生成绩管理系统「建议收藏」教学管理系统很适合初学者对于所学语言的练习。本文是javaSE中用文件流写的,这个也可以用数据库写。分析这个项目有1.学生2.老师3.教务人员4.管理员四个角色分别担任不同的任务。1.学生有属性id,密码,性别,年龄,和一个存放成绩的集合(因为一个学生可能会有多个科目,所以用集合来存放学生的所学科目)。2.老师有属性id,密码,性别,年龄,和一成绩类的对象(考虑到老师只

    2022年7月13日
    12
  • 什么能去颜色_视频去掉不要的部分

    什么能去颜色_视频去掉不要的部分有时候黑白色的视频或者图片会更让人有感觉,那么怎么用AVSVideoEditor给视频去色呢?1.打开AVSVideoEditor软件,点击“导入”,导入一段视频素材到媒体库中。将视频拖到主视频轨道上。打开视频效果,找到“灰度”,鼠标右击然后选择“添加或替换视频效果”,此时视频就会变成黑白色。4.鼠标左键选择视频效果轨,然后点击编辑效果。…

    2022年10月6日
    0
  • 某Java大佬在地表最强Java企业(阿里)面试总结

    面试题真的是博大精深,也通过这个面试题学到了很多东西,很多笔者也不是很懂,如有描述错误的地方还望大佬赐教HashMap和Hashtable的区别Hashtable继承自Dictionary类,而HashMap继承自AbstractMap类。但二者都实现了Map接口。Hashtable中的方法是Synchronize的,而HashMap中的方法在缺省情况下是非Synchronize的。HashMap把Hashtable的contains方法去掉了,改成containsValue和contains.

    2022年4月7日
    43
  • pycharm 导包_PyCharm入门教程——自动导入(上)

    pycharm 导包_PyCharm入门教程——自动导入(上)当你引用还没有导入的类时,PyCharm会帮助你找到此文件并将其添加到导入列表中。你可以导入单个类或整个包,具体取决于你如何设置。import语句将添加到imports部分,但插入符号不会从当前位置移动,并且你当前的编辑会话不会挂起。此功能称为ImportAssistant(导入助手)。使用ImportAssistant是处理PyCharm中导入的首选方法,因为命令行不支持导入优化。此功…

    2022年8月25日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号