实验五mysql 的存储过程_实验五:T-SQL及存储过程.doc

实验五:T-SQL与存储过程

一、实验目的

1、了解创建存储过程的T-SQL语句的基本语法

2、掌握使用界面操作方式和命令方式创建存储过程的方法和步骤

3、掌握存储过程的使用方法

二、实验平台和实验工具

Window 7、SQL Server 2008

三、实验相关知识

1、SQL SERVER支持五种类型的存储过程:系统存储过程、本地存储过程、临时存储过程、远程存储过程和扩展存储过程。其中,系统存储过程是由系统提供的存储过程,可以作为命令执行各种操作。系统存储过程定义在系统数据库master中,其前缀是sp_。本地存储过程是指在用户数据库中创建的存储过程,这种存储过程完成特定数据库操作任务,不能以sp_为前缀。

2、只能在当前数据库中创建存储过程。

3、创建存储过程时,应指定所有输入参数和向调用过程或批处理返回的输出参数、执行数据库操作的编程语句和返回至调用过程或批处理以表明成功或失败的状态值。

4、创建存储过程的T-SQL语句

CREATE PROC[EDURE] 存储过程名称

[{ @参数名称 数据类型 }] [,…n]

[WITH

{ RECOMPILE|ENCRYPTION }]

AS

SQL语句序列

说明:

RECOMPILE表明每次运行该过程时,将其重新编译。

ENCRYPTION表示 SQL Server 加密syscomments表中包含 CREATE PROCEDURE语句文本的条目。

注:必须将CREATE PROCEDURE语句放在单个批处理中。

成功执行CREATE PROCEDURE语句后,存储过程存储在sysobjects系统表中。

5、执行存储过程

EXEC[UTE] @返回值=存储过程名称 参数值

6、查看存储过程

查看存储过程的文本信息:SP_HELPTEXT 存储过程名

查看存储过程的一般信息:SP_HELP 存储过程名

查看存储过程的相关信息:SP_DEPENDS 存储过程名

7、编辑修改存储过程

ALTER PROCEDURE 存储过程名称

[{ @参数名称 数据类型 }][,…n]

[WITH

{ RECOMPILE|ENCRYPTION }]

AS

SQL语句序列

说明:各参数含义与CREATE PROCEDURE命令相同。

8、删除存储过程

DROP PROCEDURE 存储过程名称[,…n]

四、实验内容及步骤

1、使用学生课程数据库S-T中的“student”表、“course”表和“sc”表,创建一个存储过程xsxx_proc。查询学生的姓名、课程名称和成绩。

代码:

USE S-T

GO

IF EXISTS(SELECT NAME FROM SYSOBJECTS

WHERE NAME='xsxx_proc' AND TYPE='p')

DROP PROCEDURE xsxx_proc

GO

CREATE PROCEDURE xsxx_proc

AS

SELECT sname,cname,grade

FROM student,sc,course

WHERE student.sno=sc.sno

AND sno.cno=course.cno

GO

2、创建带参数的存储过程xbrs_proc。返回各系的男、女生人数。

代码:

USE S-T

GO

CREATE PROCEDURE xbrs_proc

@xbmc char(8) /*局部变量必须先定义后使用*/

AS

SELECT sdept,ssex,COUNT(*) AS 人数

FROM student

WHERE sdept=@xbmc

GROUP BYsdept,ssex

GO

3、使用 “student”表,创建一个加密的存储过程jmxs_proc。返回信息系的所有学生的信息。

代码:

USE S-T

GO

CREATE PROCEDURE jmxs_proc

WITH ENCRYPTION

AS

SELECT *

FROM student

WHERE sdept=‘is’

GO

4、执行已存在的存储过程xsxx_proc。

步骤:

USE S-T

GO

exec xsxx_proc

GO

5、执行已存在的带参数的存储过程xbrs_proc,返回“cs”的学生人数以及男、女生人数。

步骤:

USE S-T

GO

Exec xbrs_proc ‘cs’

GO

6、分别查看xsxx_proc存储过程的一般信息、文本信息和依赖关系。

步骤:

USE S-T

GO

EXEC SP_HELP xsxx_proc

EXEC SP_HE

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值