客户/服务器开发的主要目的在于将处理数据的程序移动到离数据尽可能近的地方。通过将处理数据的程序从客户应用程序移动到服务器,可以降低网络流量,并提高性能和数据的完整性。

  要将处理数据的程序移动到离数据更近的地方,最常用的方法之一就是开发存储过程。

1、管理存储过程

1.1、create、alter和drop

  存储过程是由如下的数据定义语言命令来管理的:create、alter和drop。

  create用于创建存储过程,它是批处理中的第一个命令,批处理的正常结束就意味着存储过程创建成功。drop命令会从数据库中删除存储过程,alter命令会将原有的存储过程替换为新的代码。如果要修改存储过程,最好采用alter方法,而不要使用先删除,再重建的方式,因为后一种方法会丢失原来存储过程上所有的权限设置。

CREATE PROCEDURE CategoryList
ASSELECT CategoryName FROM Category

1.2、返回记录集

  存储过程可以返回记录集。

EXEC CategoryList

1.3、编译存储过程

  对应存储过程的编译是自动进行的。在第一次执行存储过程的时候,就会对存储过程进行编译,并将编译结果保存在内存中。如果重新启动了服务器,所有存储过程的编译结果就全部丢失。只有当再次调用它们时,才会重新对它们进行编译。

  SQL Server使用Master.dbo.SysCacheObjects表来记录编译过的对象。要查看编译过的存储过程,可以运行下面的查询:

SELECT CASE(C.sql AS CHAR(35)) AS StoreProcedure, cacheobjtype,usecounts AS Count
FROM Master.dbo.SysCacheObjects C
JOIN Master.dbo.SysDatabases D
ON C.dbid = D.dbid
WHERE D.Name = DB_Name()
AND ObjType = 'Proc'
ORDER BY StoreProcedure

2、向存储过程传递数据

  SQL Server存储过程可以使用很多的输入和输出参数。

2.1、输入参数

  如果要使用输入参数向存储过程传递数据,可以在create procedure命令中的存储过程名之后列出需要添加的参数。每个参数都必须以@开始,一旦声明了输入参数,它就会成为该存储过程中的局部变量。就像声明局部变量一样,必须使用合法的数据类型来定义输入参数。在调用存储过程时,必须为这些输入变量提供值(除非该输入变量具有默认值)。

转载于:https://www.cnblogs.com/libingql/archive/2013/03/18/2966689.html

Sql Server系列:开发存储过程相关推荐

  1. Sql Server系列:存储过程

    1 存储过程简介 存储过程是使用T-SQL代码编写的代码段.在存储过程中,可以声明变量.执行条件判断语句等其他编程功能.在MS SQL Server 2012中存储过程主要分三类:系统存储过程.自定义 ...

  2. SQL Server系列

    这里整理了我学习SQL Server的全部文章,包括从基础到高级,做一个目录,方便以后查找. SQL Server数据类型 SQL Server中开发常用的数据类型 单表查询和多表查询 一个单表查询的 ...

  3. 通过 Visual Studio 对 SQL Server 中的存储过程设置断点并进入存储过程对其进行调试...

    通过 Visual Studio 的 Professional 和 Team System 版本,我们可以对 SQL Server 中的存储过程设置断点并进入存储过程对其进行调试,这样我们可以象调试应 ...

  4. 视频教程-sql server 系列课程数据库维护篇-SQL Server

    sql server 系列课程数据库维护篇 全栈工程师,2010年从事软件开发以及软件教育培训工作,至今将近十余年,在项目的开发,设计,到管理上积累了丰富的实战经验,教学风格上通俗易懂,问题解答环节一 ...

  5. SQL Server基础之存储过程

    阅读目录 一:存储过程概述 二:存储过程分类 三:创建存储过程 1.创建无参存储过程 2.修改存储过程 3.删除存储过程 4.重命名存储过程 5.创建带参数的存储过程   简单来说,存储过程就是一条或 ...

  6. Sql Server实用操作-存储过程精解

    CREATE PROCEDURE 创建存储过程,存储过程是保存起来的可以接受和返回用户提供的参数的 Transact-SQL 语句的集合.可以创建一个过程供永久使用,或在一个会话中临时使用(局部临时过 ...

  7. SQL SERVER 系列(7)数据表排序和聚集函数

    SQL SERVER 系列(6)数据表排序和聚集函数 数据表排序: 当我们在对数据库操作的时候,我们经常会遇到对年龄,对考试成绩进行排序的问题,排序可以使我们对所要显示的数据一目了然,因此排序就成为了 ...

  8. SQL SERVER 通用分页存储过程

    SQL SERVER 通用分页存储过程 从SQLSERVER 2005开始,提供了Row_Number()函数,利用函数生成的Index来处理分页,按照正常的逻辑思维都是传pageIndex和page ...

  9. Sql Server 查看所有存储过程或视图的位置及内容

    前一段时间,有个需求,就是对部分表进行了分库,所以,原库里面的存储过程.视图和函数里的表名等信息也要跟着更新,刚开始尝试手动检查了几个存储过程,可发现存储过程太多,检查起来效率很低,还容易出错,况且还 ...

  10. mysql 2005开发版,SQL server 2019 开发版下载

    SQL server 2019 亮点 分析所有类型的数据 使用内置有 Apache Spark 的 SQL Server 2019,跨关系.非关系.结构化和非结构化数据进行查询,从所有数据中获取见解, ...

最新文章

  1. 《程序是怎样跑起来的》第一章
  2. WinXP下 扫雷程序逆向分析 --扫雷辅助(一)
  3. 《设计模式》杂记之里氏替换原则
  4. P多行溢出省略号的处理
  5. python3 selenium安装教程_Python3爬虫利器之Selenium的安装
  6. mysql查询不重复记录数_mysql查询不重复的行内容,不重复的记录数.count,distinct
  7. 解决Django文件表单验证forms.FileField(required=True),总是无法通过验证:这个字段是必填项
  8. 暑假周进度总结报告2
  9. 数电六十分通关法则(更新中)
  10. rabbitmq多个消费者同时接收_提升RabbitMQ消费速度的一些实践
  11. 利用python进行数据分析—8.数据清洗与准备
  12. PHP第一季视频教程.李炎恢.学习笔记(二)(第2章 基本语法(1))
  13. python开发ps插件_【UI/UE】22款设计师必备的PS插件【附教程】
  14. 简单动态网站的搭建流程
  15. 图片//////////
  16. 怎么找网图本人_如何通过一张照片找到一个人的位置?https://www.zhihu.com/zvideo/1312521748374917120...
  17. Linux字符驱动设备开发
  18. 从2-3树谈到左倾红黑树
  19. HTML label标签介绍
  20. 软件工程几门课程之间的关系

热门文章

  1. 【体系结构】Oracle实例崩溃恢复原理
  2. 【读书笔记】A Swift Tour
  3. 操作系统复习笔记(二)
  4. linux 下 php 安装 libevent
  5. 使用exp导出报错EXP-00091
  6. LinQ—Lambda表达式
  7. Flex 扩展combobox 实现复选功能
  8. centos最小化安装后部署中文输入法
  9. 我儿子竟跟男孩子抱在一起
  10. 李开复:21世纪最需要的7种人才