博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Sql Server系列:开发存储过程
阅读量:7066 次
发布时间:2019-06-28

本文共 1114 字,大约阅读时间需要 3 分钟。

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

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

1、管理存储过程

1.1、create、alter和drop

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

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

CREATE PROCEDURE CategoryListAS    SELECT 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 CountFROM Master.dbo.SysCacheObjects CJOIN Master.dbo.SysDatabases DON C.dbid = D.dbidWHERE D.Name = DB_Name()AND ObjType = 'Proc'ORDER BY StoreProcedure

2、向存储过程传递数据

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

2.1、输入参数

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

转载地址:http://zhtll.baihongyu.com/

你可能感兴趣的文章
46. Permutations
查看>>
49. Group Anagrams
查看>>
团队作业7——第二次项目冲刺-Beta版本项目计划
查看>>
【Android】3.7 UI控制功能
查看>>
Linux下搭建tomcat和jre的环境
查看>>
国庆节
查看>>
java jni和android java ndk
查看>>
练习:WinForm 登录界面
查看>>
vue双向绑定原理
查看>>
初学python,感受和C的不同
查看>>
洛谷P3146 [USACO16OPEN]248
查看>>
Codeforces Round #419 (Div. 2) A-E
查看>>
【Leetcode】Path Sum II
查看>>
asp.net 2.0 导出DataTable到Excel中
查看>>
PCA算法学习_1(OpenCV中PCA实现人脸降维)
查看>>
Kinect+OpenNI学习笔记之12(简单手势所表示的数字的识别)
查看>>
对比学习UIKit和AppKit--入门级
查看>>
深入学习JVM了解JVM内存模型
查看>>
LabVIEW与Arduino的连接
查看>>
[转]MySQL排序原理与案例分析
查看>>