一、实验目的:
通过本次实验,要求掌握变量定义,流程控制,存储过程,存储函数,游标等内容。
二、实验内容:
1)变量的声明和使用,掌握@@ERROR、@@ROWCOUNT、@@IDENTITY等全局变量的使用。
2)使用BEGIN…END、IF…ELSE…、 WHILE…CONTINUE…BREAK…、CASE等流程控制语句。
3)使用存储过程。
4)使用系统函数和用户自定义函数。 5)使用游标处理数据。
三、实验步骤:
1) 用T-SQL语言完成1+2+3……+100,并使用@@ERROR判断是否执行成功,如果成功
则输出值,否则打印执行失败。使用WHILE语句实现。
2)更新STUDENTS表中sid为8763210的学生的email为ddff@sina.com,并通过@@ROWCOUNT判断是否有数据被更新,如果没有则打印警告。
USE School UPDATE …
IF @@ROWCOUNT = 0
PRINT ‘警告!没有数据被更新’
3)新建一个带IDENTITY属性列的表,往其中插入数据,使用@@IDENTITY查看标识列信息。 CREATE TABLE 表名 (属性列 类型 IDENTITY(1,1)----定义该列为自增长1的IDENTITY属性列
…)
INSERT INTO 表名(----注意此处不要加IDENTITY属性列) VALUES(----同样的不要加IDENTITY属性列对应值)
SECLECT @@IDENTITY
4)使用IF…ELSE…语句,查询STUDENTS表中学号为800007595的学生,如果学生存在,则输出学生的各科成绩,否则打印查无此人。
提示:USE School IF(EXISTS (…)) BEGIN … END ELSE
PRINT …
5)使用CASE语句,查询学号为800007595所选择的课程号为10044的成绩,如果为80分或以上,打印优秀,如果在60—80分之间则打印及格,否则打印不及格。
6)
存储过程
使用T-SQL命令CREATE PROC语句可创建存储过程,基本语法格式如下: CREATE PROC[UDURE] <>
( [ {@参数 数据类型} [ = 默认值] [ OUTPUT ] ] [ , …n] ) [ WITH {RECOMPILE | ENCRYPTION | RECOMPILE, ENCRYPTION}] AS 用户自定义函数分为:标量值函数、内联表值函数、多语句表值函数。 创建多语句内联表值函数,要求根据课程名称查询所有选修些课程的学生姓名和分数。 提示:CREATE FUNCTION <函数名> (<参数>) RETURNS @tb_scores TABLE(<返回表属性>) AS BEGIN INSERT @tb_scores SELECT….. RETURN END http://msdn.microsoft.com/en-us/library/ms186755.aspx 游标 不同于查询语句,查询语句只能参整个结果集进行同一种操作,而游标允许定位在结果集的特定行,从结果集的当前位置检索一行或多行,支持对结果集中当前位置的行进行数据修改,为由其他用户对显示在结果集中的数据库数据所做的更改提供不同级别的可见性支持,提供脚本、存储过程和触发器中用于访问结果集中数据的T-SQL语句。 使用游标必须按照下面顺序:声明游标,打开游标,读取游标中的数据,关闭游标,释放游标。 游标声明:DECLARE <游标名> [INSENSITIVE] [SCROLL] CURSOR FOR
Copyright © 2019- pqdy.cn 版权所有 赣ICP备2024042791号-6
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务