第9章 存储过程的创建和使用 9.1 存储过程简介 9.2 创建存储过程 9.3 修改存储过程 9.4 删除存储过程 9.5 执行存储过程.

Slides:



Advertisements
Similar presentations
教学网站: 数据库及应用 授课教师:岳静 Tel: 教学网站:
Advertisements

武汉库得克 软件有限公司 公司简介 发展机遇 特点 一家专注于质量管理平台和整体 解决方案的提供商
Database Management System 資料庫管理系統
第5章 T-SQL语言 5.1 SQL语言与T-SQL语言 5.2 常量、变量与数据类型 5.3 运算符与表达式 5.4 流程控制语句
第四章 数据库管理和使用.
SQL的简单查询.
第2讲 Transact-SQL语言.
第5章 索引及视图操作 数据库原理应用与实践 SQL SERver2014(第2版) 主编 贾铁军 科学出版社 编著 陈国秦 万程 邢一鸣
数据库技术及应用 ——SQL Server 任课教师: 毕丛娣 电话: 年3月.
第14章 預存程序 14-1 預存程序的基礎 14-2 建立與執行預存程序 14-3 預存程序的參數傳遞 14-4 預存程序的傳回值
第十三章 SQL Server的安全管理.
第3章 SQL的基础知识 数据库管理及应用 3.1 SQL简介 3.2 SQL的数据模型 3.3 标识符 3.4 使用SQL语句管理数据库
数据库概述 简而言之,数据库(DataBase)就是一个存储数据的仓库。为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上。通过数据库管理系统,可以有效的组织和管理存储在数据库中的数据。如今,已经存在了Oracle、SQL Server、MySQL等诸多优秀的数据库。在这一章中将讲解的内容包括。
Chap 13 視界與資料庫程式設計.
第三章 Management Studio.
第6章 資料庫管理系統 6-1 關聯式資料庫管理系統 6-2 SQL Server資料庫管理系統
创建数据库 MySql创建数据库的语法: CREATE DATABASE 数据库名; 例: CREATE DATABASE mydb;
資料庫設計 Database Design.
第三章 管理信息系统的技术基础 主要内容: 数据处理 数据组织 数据库技术 4. 计算机网络.
转正述职报告 乐恩公司 史航
第2章 数据定义功能 创建表 在关系型数据模型中,表(Table)是最基本的数据结构。
Views ,Stored Procedures, User-defined Function, Triggers
如何提高研训教师职业素养 阜新市教师进修学院 王晓秋
第7章 建立資料表與完整性限制條件 7-1 資料型別 7-2 資料表的建立 7-3 建立完整性限制條件 7-4 修改與刪除資料表
第15章 Java数据库连接(JDBC) 15.1 创建数据源 15.2 JDBC-ODBC桥接器 15.3 顺序查询
第五讲 利用视图进行查询优化.
第十五章 常見的資料庫管理系統 目的 Oracle 微軟SQL Server 微軟Access MySQL Oracle 應用伺服器
建立/修改/刪除資料庫 資料庫組成檔案 建立資料庫: 資料(庫)檔案 交易記錄檔 使用Enterprise Manager工具 自助法:
第 8 章 資料的 新增、修改與刪除.
SQL Injection (資料隱碼) 簡介
第4章 SQL语言基础及数据库定义 4.1 基本概念 4.2 SQL Server 提供的主要数据类型 4.3 数据定义.
Chap 10 SQL定義、操作與控制指令.
第 11 章 建立檢視表.
第 14 章 預存程序.
Microsoft SQL Server 2000 李金双.
第 7 章 建立資料表與 資料庫圖表.
資料庫安全 (Database Security)
教 师:曾晓东 电 话: 数据库技术 教 师:曾晓东 电 话:
Transact-SQL 語言設計教學.
課程名稱:資料庫系統 授課老師:李春雄 博士
SQL Server 2000 数据库入门.
第7章 ADO.NET操作SQL Server数据库
SQL Stored Procedure SQL 預存程序.
第三章:包   包(package)是一个可以将相关对象存储在一起的PL/SQL结构。包包含了两个分离的部件------包说明(specification)和包主体(body)。每个部件都单独被存储在数据字典中。包只能存储在数据库中,不能是本地的。除了可以将相关对象作为一组存在一起以外,包也是十分有用的,因为它们在依赖性方面的限制是比较小的。也有许多性能上的优点。
第 6 章 使用者權限.
第7章 SQL Server代理服务 7.1 SQL Server代理服务配置 7.2 定义操作员 7.3 作业管理 7.4 警报管理
医院职工公费医疗系统.
作业3-点评.
Ch4.SQL Server 2005資料庫組成員元件介紹
数据库技术.
数据库应用技术 SQL Server 2005.
数据库技术与应用.
20 SQL Server全文檢索搜尋 20-1 SQL Server全文檢索搜尋 20-2 全文檢索目錄的建立 20-3 建立全文檢索索引
数据库原理与应用 合肥学院 叶潮流
Microsoft TechNet 技術講座--資料庫技術升級系列三 精誠公司恆逸資訊 楊先民
第九章 创建数据库.
第11章 事务与锁 11.1 事务Transact 11.2 数据并发的问题 11.3 锁Lock 11.4 事务隔离级别.
4.2 视图 (1) 视图是一个虚拟表,其内容来自对表查询的基础上。
第 15 章 自訂函數與順序物件.
6 SQL語言與資料庫建置 6-1 SQL語言的基礎 6-2 SQL Server的資料庫結構 6-3 建立使用者資料庫
第三章 SQL Server数据管理.
第 7 章 建立資料表與資料庫圖表.
第4章 表的创建与维护 4.1 数据类型 4.2 数据完整性约束 4.3 创建数据表 4.4 修改数据表 4.5 删除数据表.
Oracle Database 10g基础教程 清华大学出版社
第11章 安全管理 教学提示:数据库安全是关系数据库中的非常重要的方面,包括了系统安全、数据安全、资源管理、用户管理、权限管理、角色管理、口令管理以及授权、认证、审计等相当多方面的内容。本章讲述有关数据库安全方面的知识。 数据库系统的安全性是每个数据库管理员都必须认真考虑的问题。SQL Server.
第9章 视 图 教学提示:用户在查询数据库中的数据时,除了直接查看数据库中的表中的数据以外,还可以通过视图来查看表中的数据,也就是说,视图为用户提供了另外一种查看表中的数据的方式。 视图是一种虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自于定义视图的查询所引用的表,并且在引用视图时动态生成。
11 檢視表的建立 11-1 檢視表的基礎 11-2 建立檢視表 11-3 修改與刪除檢視表 11-4 編輯檢視表的內容.
国家“十一五”规划教材 数据库原理与应用教程(第3版).
Web安全基础教程
数据库应用技术 天津电大 翟迎建.
Presentation transcript:

第9章 存储过程的创建和使用 9.1 存储过程简介 9.2 创建存储过程 9.3 修改存储过程 9.4 删除存储过程 9.5 执行存储过程

利用Transact-SQL编写存储过程; 使用部分常用的系统存储过程和扩展的 存储过程的方法。 能力目标   存储过程的创建和维护方法;   存储过程的调用参数的特点;   执行存储过程的各种方法;   利用Transact-SQL编写存储过程;   使用部分常用的系统存储过程和扩展的 存储过程的方法。

态度目标   团队精神;   态度积极;   任务按时完成;   出勤。

利用Transact-SQL编写存储过程。 难点: 重点难点   重点:   存储过程的创建和维护方法;   存储过程的调用参数的特点;   执行存储过程的各种方法;   利用Transact-SQL编写存储过程。   难点:

9.1 存储过程简介 1. 什么是存储过程(Stored-Procedure) 存储过程就是利用 Transact-SQL语言编写的存 9.1 存储过程简介   1. 什么是存储过程(Stored-Procedure)   存储过程就是利用 Transact-SQL语言编写的存 储在数据库内的可以执行一些特殊的或常用的数据 处理的程序,它是数据库对象之一,可以通过编译 在数据库后台执行,是数据库端编程的重要技术。

9.1 存储过程简介 2. 存储过程的种类 系统存储过程(System Stored Procedures) 9.1 存储过程简介   2. 存储过程的种类   系统存储过程(System Stored Procedures)   扩展存储过程(Extended Stored Procedures)   远程存储过程(Remote Stored Procedures)   临时存储过程(Temporary Stored Procedures)   用户自定义的存储过程(User-defined Stored Procedures)

9.2 创建存储过程   1. 使用“SQL Server Management Studio” 创建存储 过程

9.2 创建存储过程 2. 使用Transact-SQL语句创建存储过程 9.2 创建存储过程   2. 使用Transact-SQL语句创建存储过程 CREATE { PROC | PROCEDURE } [schema_name.] procedure_name [ ; number ]     [ { @parameter [ type_schema_name. ] data_type }         [ VARYING ] [ = default ] [ [ OUT [ PUT ]     ] [ ,...n ] [ WITH <procedure_option> [ ,...n ] [ FOR REPLICATION ] AS { <sql_statement> [;][ ...n ] | <method_specifier> } [;]

9.2 创建存储过程 2. 使用Transact-SQL语句创建存储过程 9.2 创建存储过程   2. 使用Transact-SQL语句创建存储过程 【案例9.1】创建一个存储过程 emp_sale_info ,传递员工的 编号(emp_id)和销售日期(Order_Date),查询返回该员工 在该日期以来销售产品的数量(Quantity)之和。 CREATE PROCEDURE emp_sale_info @emp_id INT, @orderdate DATETIME, @sumQty NUMERIC(10,2) OUTPUT AS SELECT @sumQty = SUM(Quantity) FROM Sale_detail D, Sales S WHERE emp_id = @emp_id AND Order_Date >= @orderdate AND S.Order_id = D.Order_id

9.3 修改存储过程   1. 使用“ SQL Server Management Studio ”SQL编辑 器修改存储过程

9.3 修改存储过程 2. 使用Transact-SQL语句修改存储过程 9.3 修改存储过程   2. 使用Transact-SQL语句修改存储过程 ALTER { PROC | PROCEDURE } [schema_name.] procedure_name [ ; number ]     [ { @parameter [ type_schema_name. ] data_type }     [ VARYING ] [ = default ] [ [ OUT [ PUT ]     ] [ ,...n ] [ WITH <procedure_option> [ ,...n ] ] [ FOR REPLICATION ] AS      { <sql_statement> [ ...n ] | <method_specifier> }

9.3 修改存储过程 2. 使用Transact-SQL语句修改视图 【案例9.2】用ALTER PROCEDURE重新定义存储过程 9.3 修改存储过程   2. 使用Transact-SQL语句修改视图 【案例9.2】用ALTER PROCEDURE重新定义存储过程 emp_sales_qty ,传递员工编号和销售日期,输出该日期 前销售的产品数量平均值。 ALTER PROCEDURE emp_sales_qty @empno INT, @orderdate DATETIME, @result NUMERIC(10,2) OUTPUT AS SELECT @result = AVG(Quantity) FROM Sales S, Sale_detail D WHERE S.Order_id = D.Order_id AND emp_id = @empno AND Order_Date<= @orderdate

9.4 删除存储过程   1. 用“SQL Server Management Studio” 管理工具 删除存储过程

9.4 删除存储过程 2. 使用Transact-SQL语句删除存储过程 【案例9.3】 9.4 删除存储过程   2. 使用Transact-SQL语句删除存储过程 【案例9.3】   删除emp_sales_qty存储过程(在当前数据库 eTradeInfo内)。 DROP { PROC | PROCEDURE } { [ schema_name. ] procedure } [ ,...n ] DROP PROCEDURE title_price

9.5 执行存储过程 使用Transact-SQL语句调用存储过程 [ { EXEC | EXECUTE } ] { 9.5 执行存储过程   使用Transact-SQL语句调用存储过程 [ { EXEC | EXECUTE } ]     {       [ @return_status = ]       { module_name [ ;number ] | @module_name_var }         [ [ @parameter = ] { value                            | @variable [ OUTPUT ]                            | [ DEFAULT ]                            }        ]       [ ,...n ]       [ WITH RECOMPILE ]     }[;]

9.5 执行存储过程 【案例9.4】执行存储过程emp_sale_info。 【案例9.5】执行存储过程cust_order_info。 9.5 执行存储过程 【案例9.4】执行存储过程emp_sale_info。 DECLARE @sumQty NUMERIC(10,2) EXECUTE emp_sale_info 12, '2006-01-01', @sumQty OUTPUT 【案例9.5】执行存储过程cust_order_info。 DECLARE @orderdate DATETIME EXECUTE cust_order_info '张%', @orderdate 【案例9.6】在远程服务器SQL SERVER1上执行 checkcontract存储过程,在@retstat中保存返回状态, 说明运行成功或失败。 DECLARE @retstat int EXECUTE @retstat=SQLSERVER1.eTradeInfo.dbo. Checkcontract '409-56-4008'

使用案例数据库eTradeInfo,在“SQL Server Management Studio”管理窗口中,完成以下题目存储 案例分析   使用案例数据库eTradeInfo,在“SQL Server Management Studio”管理窗口中,完成以下题目存储 过程创建和Transact-SQL代码调试。   1. 编写一个存储过程,输入某雇员编号(emp_id)、商 品订购单编号( Order_ID )和订购日期(Order_Date),输 出该订单的客户信息。   2. 编写存储过程,输入仓库编号,输出其库存商品数量 之和以及商品种类之和,并写出调用过程。   3. 编写存储过程,输入某个部门名称、日期,输出该部 门人数及在该日期以来签订的合同数量。   4. 编写存储过程,输入某类商品编号,输出其目前库存 数量、已销售数量,并写出调用过程。

1. 用“SQL Server Management Studio”和T-SQL 语句创建存储过程,并在“SQL编辑器”窗口中调试; 案例分析 要求:   1. 用“SQL Server Management Studio”和T-SQL 语句创建存储过程,并在“SQL编辑器”窗口中调试;   2. 调用存储过程的各种方法;   3. 熟练掌握在“SQL编辑器”窗口中调试存储过 程技术。 问题:   1. 用户可以创建或修改存储过程吗?   2. 用户存储过程可以不带参数执行吗? 讨论:   使用存储过程的主要优点。结合前台开发工具 嵌入SQL命令的形式,比较使用存储过程的意义。

存储过程分系统存储过程、扩展存储过程和用 户自定义的存储过程。 系统存储过程是SQL Server 2005自身配备的具 本章小结   存储过程分系统存储过程、扩展存储过程和用 户自定义的存储过程。   系统存储过程是SQL Server 2005自身配备的具 有特殊功能和用途的存储过程,SQL Server 2005也 配备了部分扩展存储过程。   用户自定义的存储过程是用户使用Transact- SQL编写的用户常用的一些程序,这些程序代码存 储在SQL Server数据库中,并可以通过编译执行。   调用存储过程类似调用系统函数,可以输入参 数,也可以通过参数输出执行的结果,大大提高了 代码的重用性、安全性和执行速度。