SQL存储过程学习笔记(一)

一、存储过程的概念

简单来说,存储过程,就是一个为了完成特定功能的SQL语句集合,它经过编译后存储在数据库中。用户通过指定存储过程的名称并传递相应参数来执行它。

SQL SERVER中分为系统提供的存储过程和用户自定义的存储过程两类。系统提供的存储过程,可以在任何数据库中调用而不必加数据库名,可以在master数据中查看;用户自定义的存储过程,是由用户根据需求进行创建、编写来完成特定功能的存储过程,也是我们主要学习的战场。

二、存储过程的优点

存储过程的实现,主要是用T-SQL编程语言完成。利用T-SQL编程,有两种方法可用。一是在用户本地编写T-SQL应用程序,向数据库服务器发送命令,获得处理结果;二是将编写的T-SQL程序作为存储过程,经编译后存储到数据库中,在应用程序中调用数据库中的存储过程,获得返回的结果集。

通常采用第二种方法,也就是用T-SQL编写存储过程,在服务器端实现对数据库的操作或对数据的处理。

1、允许标准组件式编程

存储过程可以在应用程序中被多次调用,而不必重复编写存储过程的SQL语句,增加了代码的可复用性。数据库开发人员可随时更改存储过程的SQL语言,而不必更改应用程序的代码,增加了代码的可维护性。

2、能够较快的执行

存储过程是经过编译、优化后存储在数据库中的,再次调用时,不需要进行编译、优化,相比T-SQL语句每次都要执行编译、优化而言,提高了应用程序的执行速度。

3、减少网络流量

调用存储过程,只是向服务器端传递一条命令,相比多条SQL语句,能够减少网络负载。

4、可以作为安全机制得到充分利用

对存储过程,可以赋予执行权限,来区分不同用户对数据库的操作权限。

注意:虽然存储过程与函数一样存在参数和返回值,但是存储过程与函数是不同的,存储过程的返回值只能表明执行是否成功,并且不能像函数那样直接用名称来调用,在调用存储过程时,必须用exec保留字。

时间: 2024-08-25 00:57:12

SQL存储过程学习笔记(一)的相关文章

SQL 2005 学习笔记

http://wenku.baidu.com/view/a99b3e8abb68a98271fefaed N 年的 SQL 2005 学习笔记

SQL Database学习笔记

1. linux下快速安装MariaDB: MariaDB 是 一个采用 Maria 存储引擎的  MySQL  分支版本,是由原来 MySQL 的作者 Michael Widenius 创办的公司所开发 的免费开源的数据库服务器 . 本文介绍了在linxu下一个简单的安装 方法(在OpenSuse下测试成功): (摘自:http://www.2cto.com/database/201307/229102.html) # tar zxvf mariadb-5.5.31-linux-x86_64.

SQL 数据库 学习笔记

虽然学的慢,不过也需要一步一步地学. 学习笔记: 1. SQL语句大小写 不敏感 2. MySQL 需要分号; 3. 用过的命令: show databases: //显示有多少个数据库 create database first_lesson: //创建一个数据库 use first_lesson: //使用这个数据库 show tables: //显示有多少个表 describe person://显示表内的表头内容 insert into person values("dfd",

存储过程学习笔记(SQL数据库

一.   存储过程简介 Sql Server的存储过程是一个被命名的存储在服务器上的Transacation-Sql语句集合,是封装重复性工作的一种方法,它支持用户声明的变量.条件执行和其他强大的编程功能. 存储过程相对于其他的数据库访问方法有以下的优点: (1)重复使用.存储过程可以重复使用,从而可以减少数据库开发人员的工作量. (2)提高性能.存储过程在创建的时候就进行了编译,将来使用的时候不用再重新编译.一般的SQL语句每执行一次就需要编译一次,所以使用存储过程提高了效率. (3)减少网络

存储过程(学习笔记)

存储过程指的是在大型数据库系统中专门定义的一组SQL语句集,它可以定义用户操作参数,并且存在于数据库中,当使用时直接调用即可存储过程=过程的声明+PL/SQL块定义过程语法:CREATE [OR REPLACE] PROCEDURE 过程名称([参数名称[参数模式] NOCOPY 数据类型 [参数名称 [参数模式] NOCOPY 数据类型,...]]) [AUTHID [DEFINER | CURRENT_USER]] AS || IS [PRAGMA AUTONOMOUS_TRANSACTIO

数据库SQL语句学习笔记(3)-排序检索数据

1.排序数据 如果不排序,数据一般将以它在底层表中出现的顺序显示,这有可能是数据最初添加到表中的顺序.但是如果数据随后进行过更新或删除,这个顺序就会受到DBMS重用回收存储空间的方式的影响. 子句:SQL语句由子句构成,有些子句是必须的,有些则是可选的.一个子句通常是由关键字加上所提供的数据组成.例如我们上个笔记中提到的SELECT语句中的FROM子句. 排序需要用到ORDER BY子句 SELECT prod_name FROM Products ORDER BY prod_name; 一定要

数据库SQL语句学习笔记(6)-使用函数处理数据

1.SQL也可以用函数来处理数据,函数一般是在数据上执行的,为数据的转换和处理提供了方便.但是每一个数据库管理系统(DBMS)都有特定的函数,事实上,只有少数几个函数被所有的DBMS等同地支持.例如, MYSQL中用SUBSTRING()函数提取字符串的组成部分,Access用MID() MYSQL中用CONVERT()函数进行数据类型转换,DB2使用CAST() MYSQL使用CURDATE()函数获取当前日期,SQLite使用DATE() 结论:SQL语句不是可移植的 2.SQL使用函数 文

Sql 注入 学习笔记

以下是MSDN Magazine 里面的一段文章: http://msdn.microsoft.com/zh-cn/magazine/cc163523.aspx 我很好奇这样到底能不能够注入SQL, 所以我建了个 console 程序 static void Main(string[] args) { SqlConnection conn new SqlConnection(); conn.Open(); string commandtext = "exec SetPassword 'admin

SQList3 and SQL入门学习笔记

SQL 这是一个标准的计算机语言进行访问和操作数据库. 什么是 SQL? ·       SQL 指结构化查询语言 ·       SQL 使我们有能力訪问数据库 ·       SQL 是一种 ANSI 的标准计算机语言 编者注:ANSI,美国国家标准化组织 SQL 能做什么? ·       SQL 面向数据库运行查询 ·       SQL 可从数据库取回数据 ·       SQL 可在数据库中插入新的记录 ·       SQL 可更新数据库中的数据 ·       SQL 可从数据库