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 Web之过滤器(Filter)「建议收藏」

    Java Web之过滤器(Filter)「建议收藏」过滤器(Filter)过滤器实际上就是对web资源进行拦截,做一些处理后再交给servlet。通常都是用来拦截request进行处理的,也可以对返回的response进行拦截处理大概流程图如下应用场景自动登录统一设置编码格式访问权限控制敏感字符过滤等…

    2022年4月29日
    47
  • 【C语言】判断一个字符串是否为回文字符串。[通俗易懂]

    【C语言】判断一个字符串是否为回文字符串。[通俗易懂]2.判断一个字符串是否为回文字符串。#includeintmain(void){chara[100];inti=0,j=0;printf(“Pleaseinputstring:”);gets_s(a,100);while(a[i]!=’\0′)i++;i–;for(;j{if(a[i]!=a[j])

    2022年5月3日
    48
  • XPS文件转换PDF小工具,集成了界面,方便大家使用

    XPS文件转换PDF小工具,集成了界面,方便大家使用网上有关于XPS转换PDF的工具gxps.exe,由GhostPDL的代码编译而成。但是很不方便使用,需要设置参数,不够直观。所以想出了给它集成一个外壳的想法。 利用C++语言,编写了外壳,调用gxps.exe,可以直接选择需要转换的文件和保存的地址。 完成界面后,感觉大家还需要再下gxps.exe,两个exe看起来很不爽。所以就将exe集成到了外壳程序里。需要转换时释放该文件

    2022年5月25日
    52
  • JAVAweb学生管理系统(学生信息管理系统代码)

    关注公众号:吾爱代码,回复Java学生管理系统,获取下载链接~关注公众号:吾爱代码,回复Java学生管理系统,获取下载链接~关注公众号:吾爱代码,回复Java学生管理系统,获取下载链接~

    2022年4月15日
    67
  • C# 开发上位机软件[通俗易懂]

    C# 开发上位机软件[通俗易懂]目前正进行上位机软件开发,有兴趣的朋友,可以一起参与,联系qq-19066432

    2022年5月25日
    45
  • 2020年5月份编程语言排行榜「建议收藏」

    2020年5月份编程语言排行榜「建议收藏」前言本文章中语言排名数据来自TIOBE排行榜和PYPL排行榜。这段时间一直在忙,都忘记更新这个排行榜了,今天重操旧业,给大家看一下5月份的编程语言排行榜TIOBE排行榜5月份数据2020年5月TIOBE指数以下是官方说明五月标题:编程语言C又回到了第一位Java和C在4月份已经非常接近了,但是这个月C再次超越了Java。上一次C排名第一是在2015年。我们只能猜测为什么C又是第一名。其中一个原因可能是冠状病毒。这听起来可能很傻,但有些编程语言确实从这种情况中受益。数据科学领域的例子有P

    2022年5月31日
    61

发表回复

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

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