SQL server 创建存储过程

这篇具有很好参考价值的文章主要介绍了SQL server 创建存储过程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

SQL Server如何创建存储过程

  存储过程: 可以理解为完成特定功能的一组 SQL 语句集,存储在数据库中,经过第一次编译,之后的运行不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来调用存储过程。

如何创建存储过程

  创建存储过程可以有两种方式:一是在 SSMS 中界面操作创建存储过程,而后修改其中的 SQL 语句及存储过程名称;二是通过命令行直接编写创建存储过程。
  在操作之前,得要有一个数据库和数据库中将要使用存储过程查询或操作的数据表,这里以 MyDBDemo 数据库为例,其中有一个 sys_user 的用户数据表。
sql server 创建存储过程,数据库的一般操作,oracle,数据库
  1、SSMS 界面创建存储过程:
  界面鼠标操作创建存储过程方便快捷,一些基础的脚本不需要手动编写,由 SSMS 自动生成。
  步骤: 展开数据库中的【可编程性】,在【存储过程】上鼠标单击右键出现弹出菜单,点击【存储过程】即可弹出新的查询窗口,里面有一些默认的 SQL 脚本。
sql server 创建存储过程,数据库的一般操作,oracle,数据库
  软件自动生成的存储过程创建脚本,现在可以基于此修改存储过程中的内容了。
sql server 创建存储过程,数据库的一般操作,oracle,数据库
  说明: 从 第 1 行到 20 行不需要关注,这些都是一些设置和注释说明,第 21 行到 33 行才是存储过程的主要内容。下面将通过代码逐行介绍这些命令。

CREATE PROCEDURE <Procedure_Name, sysname, ProcedureName> -- 这一行表示存储过程的名称, '<>' 是占位符,将其替换为存储过程的名称
	-- 以下列出存储过程的参数以及返回参数,这是设置存储过程有哪些参数和返回什么数据
	<@Param1, sysname, @p1> <Datatype_For_Param1, , int> = <Default_Value_For_Param1, , 0>, 
	<@Param2, sysname, @p2> <Datatype_For_Param2, , int> = <Default_Value_For_Param2, , 0>
AS
BEGIN -- 从这里开始就是存储过程的主体部分
	-- 这里面的内容就是 SQL 语句集,可以放置许多的 SQL 增删查改等操作脚本
END -- 这里结束存储过程,表示存储过程的 SQL 集在这里结束

  2、SQL 脚本创建存储过程:
  脚本创建存储过程就是自行编写基础的创建存储过程的语句,如上所示代码中的内容都是自行手动编写,然后执行脚本即可创建好这个存储过程。
  如下创建存储过程的脚本,是传入用户的数据参数,插入到数据库中,而后再查询出来展示,详细讲解请看注释,SQL 脚本如下所示:

CREATE PROCEDURE InsertUser -- 这里存储过程的名称为‘InsertUser’
	-- 输入参数有userno、pwd、username、role、email,输出参数有 count
	-- 输入输出参数的名称前面必须加上 ‘@’ ,表示其是一个变量。
	@userno nvarchar(50), --输入参数,用户编码
	@pwd nvarchar(50), -- 输入参数,登录密码
	@username nvarchar(50), -- 输入参数,用户姓名
	@email nvarchar(50), -- 输入参数,用户邮箱
	@count int output-- 输出参数,当前数据表中的总数据条数,这里输出参数采用 ‘output’ 标识
AS
BEGIN -- 从这里开始就是存储过程的主体部分
	-- 这里插入一条数据到数据表中,数据内容来源于存储过程中传入的内容,其中用户角色字段 ‘[role]’ 设置默认值为 ‘admin’
	INSERT INTO [dbo].[sys_user] ([userno],[pwd],[username],[role],[email])
     VALUES (@userno,@pwd,@username,'admin',@email);
	 -- 查询出数据表
	 select * from [dbo].[sys_user];
	 -- 返回值总条数查询
	 select @count = @@ROWCOUNT;
END -- 这里结束存储过程,表示存储过程的 SQL 集在这里结束

存储过程的使用或调用

  存储过程的使用需要采用关键字 EXEC 加上存储过程名称,而后跟随参数的方式。

DECLARE @pdCount INT; -- 定义返回值参数
-- 通过 exec <存储过程名称> <参数列表> 调用存储过程
exec [dbo].[InsertUser] @userno='user-1',@pwd='123',@username='wanger',@email='123@abccom',@count=@pdCount output
select @pdCount as '数据表总数' -- 查询出返回值中的内容

  执行结果如下所示:
sql server 创建存储过程,数据库的一般操作,oracle,数据库

存储过程的意义

  优点:
  1、存储过程加快系统运行速度,存储过程只在创建时编译,以后每次执行时不需要重新编译。
  2、存储过程可以封装复杂的数据库操作,简化操作流程,例如对多个表的更新,删除等。
  3、可实现模块化的程序设计,存储过程可以多次调用,提供统一的数据库访问接口,改进应用程序的可维护性。
  4、存储过程可以增加代码的安全性,对于用户不能直接操作存储过程中引用的对象,SQL Server可以设定用户对指定存储过程的执行权限。
  5、存储过程可以降低网络流量,存储过程代码直接存储于数据库中,在客户端与服务器的通信过程中,不会产生大量的T_SQL代码流量。
  缺点:
  1、数据库移植不方便,存储过程依赖与数据库管理系统, SQL Server 存储过程中封装的操作代码不能直接移植到其他的数据库管理系统中。
  2、不支持面向对象的设计,无法采用面向对象的方式将逻辑业务进行封装,甚至形成通用的可支持服务的业务逻辑框架。
  3、代码可读性差,不易维护。不支持集群。

结语

  为什么需要存储过程:效率高、降低网络流量、复用性高、可维护性高、安全性高。文章来源地址https://www.toymoban.com/news/detail-729703.html

到了这里,关于SQL server 创建存储过程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • sql 创建sql server数据库文件组

    可以在建立数据库时候创建 如: CREATE DATABASE MyDB ON PRIMARY                           --主文件组和主要数据文件   ( NAME=\\\'MyDB_Primary\\\',    FILENAME= \\\'c:MyDB_Prm.mdf\\\'), FILEGROUP MyDB_FG1                   --用户定义文件组1   ( NAME = \\\'MyDB_FG1_Dat1\\\',    FILENAME = \\\'c:MyDB_FG1_1.ndf\\\'),  --次要数

    2024年02月08日
    浏览(44)
  • SQL Server数据库的创建方法

    可以使用以下3种方法创建数据库。 一.使用SQL Server Management Studio创建数据库 二..使用CREATE DATABASE 语句创建数据库。 三.使用模板创建数据库 一.使用SQL Server Management Studio创建数据库 创建一个名为“学生选课”的学生选课管理数据库 在 SQL Server Management Studio左侧,有个“对象

    2023年04月08日
    浏览(76)
  • Excel 2019访问SQL Server数据库的实现过程

    源之:https://vip.kingdee.com/article/288066926977041920?productLineId=11 在日常ERP系统实施过程中,往往会遇到客户的一些个性化需求,比如有些客户习惯用Excel电子表格来查看ERP系统中的数据,业余拓展学习了一下,借助ODBC可以实现这个需求。 一、ODBC数据管理和SQL数据库之间的连接的建

    2024年02月11日
    浏览(36)
  • SQL Server数据库 -- 表的创建与管理

    一、数据表的组成 二、创建数据表 表的创建 表的查看 表的增加 表的修改 表的删除、 三、表的架构操作 四、总结 上次博客写到了数据库的创建与管理,但是创建的库里面什么东西都没有,现在我们需要在库里面添加数据表内容   在创建表之前,我们需要先知道表里面有哪

    2024年02月11日
    浏览(65)
  • SQL Server 实验一 数据库的创建和使用

    任务描述 本关简要介绍 SQL Server 数据库、 SQL Server 中的系统数据库和用户数据库,根据介绍的知识完成相关选择题。 相关知识 SQL Server 简介 数据库通常分为层次式数据库、网络式数据库和关系式数据库三种。而不同的数据库是按不同的数据结构来联系和组织的。在当今的互

    2024年02月07日
    浏览(42)
  • sql2016创建镜像数据库时报错(Microsoft SQL Server, Error: 927)

    在配置镜像最后一步报错:Database ‘XXX’ cannot be opened. It is in the middle of a restore. (Microsoft SQL Server, Error: 927) 解决办法: 执行命令 镜像库Mirror Server: USE MASTER; GO ALTER DATABASE SET PARTNER = ‘TCP://PrincipalServer:5022’ GO 主库Principal server: USE MASTER; GO ALTER DATABASE SET PARTNER = ‘TCP://MirrorSe

    2024年02月05日
    浏览(44)
  • 数据库实验——通过SQL Server Management Studio创建及管理数据库

    (1)熟悉SQL Server Management Studio。 (2)掌握通过SQL Server Management Studio管理数据库的方法。 (3)掌握数据库及其物理文件的结构关系。 (4)掌握通过SQL Server Management Studio管理数据表的方法。 1.通过SQL Server Management Studio创建数据库 创建一个名称为学生管理信息Student_info数

    2024年02月08日
    浏览(48)
  • SQL server 创建存储过程

       存储过程: 可以理解为完成特定功能的一组 SQL 语句集,存储在数据库中,经过第一次编译,之后的运行不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来调用存储过程。 如何创建存储过程   创建存储过程可以有两种方式:一

    2024年02月07日
    浏览(30)
  • SQL Server实战一:创建、分离、附加、删除、备份数据库

      本文介绍基于 Microsoft SQL Server 软件,实现数据库 创建、分离、附加、删除 与 备份 的方法。 目录 1 交互式创建数据库 2 Transact-SQL指定参数创建数据库 3 交互式分离数据库testbase1 4 使用系统存储过程分离数据库testbase2 5 数据库文件备份:分离数据库再复制其物理文件 6 数

    2024年04月24日
    浏览(34)
  • 使用Visual Studio 平台创建SQL Server数据库(一)

    这篇来说说Visual Studio 平台怎么创建SQL语句。 1.VS2019中内置了SQL Server,这个小型的数据库完全可以满足普通项目的开发和调试的需要。 2.新建项目 3.创建数据库 视图-SQL Server对象资源管理器,打开这个窗口,展开SQL Server -(localdb)MSSQLLocalDB-数据库-系统数据库,可以看到默认存在

    2024年02月02日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包