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实现简单的图书管理系统「建议收藏」一、项目分布Book类:定义了书的一些属性(书名,作者,价格,分类,状态)并且写了属性的get、set方法Library类:写了登录函数(1、普通用户,2、管理员,3、退出系统),Person类:定义的人的属性(姓名,性别,年龄)并且写了属性的get、set方法,定义了一些书。operate接口:操作的接口,操作方法:查询/查阅,删除/借阅,增加/还书,显示书籍列表Root类:继承…

    2022年7月13日
    18
  • 词向量模型(1)[通俗易懂]

    词向量模型(1)[通俗易懂]词向量模型one-hotVectorone-hotvector最简单的编码方式:假设我们的词库总共有n个词,那我们开一个1*n的高维向量,而每个词都会在某个索引index下取到1,其余位置全部都取值为0。问题这种词向量编码方式简单粗暴,我们将每一个词作为一个完全独立的个体来表达。遗憾的是,这种方式下,我们的词向量没办法给我们任何形式的词组相似性权衡。因为你开了一个极高维度的…

    2022年5月8日
    69
  • 培根密码加解密_二进制密码在线解密

    培根密码加解密_二进制密码在线解密0x00介绍培根密码实际上就是一种替换密码,根据所给表一一对应转换即可加密解密它的特殊之处在于:可以通过不明显的特征来隐藏密码信息,比如大小写、正斜体等,只要两个不同的属性,密码即可隐藏0x01代码实现脚本很简单,就是建立对应关系,对密文,或者明文进行相应的替换即可需要注意的是输入的都应该是全小写字母或全大写字母,在脚本里也有说明python脚本如下:#…

    2025年7月27日
    4
  • Java架构师历程-小程序上线

    Java架构师历程-小程序上线

    2020年11月13日
    231
  • Java调用第三方接口示范

    Java调用第三方接口示范人工智能,零基础入门!http://www.captainbed.net/inner在项目开发中经常会遇到调用第三方接口的情况,比如说调用第三方的天气预报接口。使用流程【1】准备工作:在项目的工具包下导入HttpClientUtil这个工具类,或者也可以使用Spring框架的restTemplate来调用,上面有调用接口的方法【分为Get和Post方式的有参和无参调用】:pa…

    2022年4月26日
    41
  • gitbook如何_github入门与实践

    gitbook如何_github入门与实践  本文从“是什么”、“为什么”、“怎么办”、“好不好”四个维度来介绍GitBook,带你从黑暗之中走出来,get这种美妙的写作方式。是什么?  在我认识GitBook之前,我已经在使用Git了,毋容置疑,Git是目前世界上最先进的分布式版本控制系统。  我认为Git不仅是程序员管理代码的工具,它的分布式协作方式同样适用于很多场合,其中一个就是写作(这会是一个…

    2022年10月4日
    5

发表回复

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

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