文档详情

第七次:存储过程(一).ppt

发布:2017-08-09约2.71千字共23页下载文档
文本预览下载声明
SQL SERVER 2000 数据库应用 第七次 存储过程(一) 第一节目标 理解存储过程的概念 掌握创建存储过程 掌握修改,删除存储过程 掌握执行,查看存储过程 存储过程的概念 在SQL Server中,可以定义子程序存放在数据库中,这样的 子程序称为存储过程,存储过程是数据库对象之一。使用存 储过程的特点如下: (1)存储过程在服务器端运行,执行速度快。 (2)存储过程执行一次后,其执行驻留在高速缓冲存储器,在以后的操作中,只需从高速缓冲存储器中调用已编译好的二进制代码执行,提高了系统性能。 (3)确保数据库的安全。使用存储过程可以完成所有的数据 库操作。 (4)可以接受用户参数,亦可返回参数。 存储过程的类型 SQL Server支持以下五种类型的存储过程。 1、系统存储过程(以“sp_”为前缀,存储master里) 2 、本地存储过程(存储在用户定义的数据库中) 3、扩展存储过程(以“xp_”为前缀,存储在master里) 4、临时存储过程(名字以#开头) 5、远程存储过程 注意:用户定义存储过程不能以sp /xp 开头 创建存储过程 语法格式: CREATE PROCEDURE 存储过程名 AS SQL语句 例: create procedure p_product as select * from products 执行存储过程 语法: EXEC 存储过程名 例: Exec p_1 修改存储过程 语法: ALTER PROC 存储过程名 AS SQL语句 例: alter proc p_1 as select * from products where productid=1 查看存储过程 sp_helptext查看存储过程的定义 sp_help查看存储过程的有关信息 sp_depends查看存储过程所依据的对象. sp_rename 存储过程原名 存储过程新名 重命名存储过程 删除存储过程 语法: DROP procedure 存储过程名 例: Drop procedure p_1 掌握创建带参数的存储过程 存储过程中参数的使用 存储过程可以带一个或多个输入参数,输入参数是指由调用程序向存储过程传递的参数,它们在创建存储过程语句中被定义,在执行存储过程中给出相应的参数值。 语法: CREATE PROCEDURE 存储过程名 (@参数名 数据类型[=默认值] [,...n]) AS SQL语句 执行带参数的存储过程 使用参数名传递参数值 语法:EXECUTE 存储过程名 [@参数名=参数值] [,...n] 例:exec p_a @sname=‘aaa,@pwd=123 按参数位置传递参数值 语法:EXECUTE 存储过程名 参数值1,参数值2 例: exec p_a ‘aaa,123 举例 create procedure p_t ( @sno int ) as select * from xs where sno=@sno 执行:exec p_t @sno=1 或exec p_t 2 带输入参数的存储过程 use northwind create proc pro_find (@begintime datetime, @endtime datetime) as select orderid,customerid,shippeddate from orders where shippeddate between @begintime and @endtime 执行:exec pro_find 1996-7-12,1996-7-16 第三节目标 掌握带输出参数的存储过程 了解常用系统存储过程和扩展存储过程. 带输出参数的存储过程 如果我们需要从存储过程中返回一个或多个值,可以通过在创建存储过程的语句中定义输出参数来实现,为了使用输出参数,需要在CREATE PROCEDURE语句中指定OUTPUT关键字 语法: CREATE PROCEDURE 存储过程名 @参数名 数据类型 [VARYING][=默认值] OUTPUT [,...n] AS SQL语句 带输出参数的存储过程 create ? procedure ? my_p ? (@UserNo ? varchar(20), @Pwd ? varchar(20) ? output ) as ? select ? @Pwd=Pwd ? from ? Users ? where ? UserNo=@UserNo ? --输出密码 执行: declare ? @P ? varchar(20) ? exec ? my_p ? ‘100’,@P ?
显示全部
相似文档