- 31
- 0
- 约5.56千字
- 约 8页
- 2017-01-12 发布于重庆
- 举报
实验报告6-1-数据库编程.
实验报告六(1)
课程名称 数据库系统原理与应用 实验日期 11.21(计科1301ZB)
11.28(计科1101B) 实验项目名称 数据库编程(1) 实验地点 1#609 实验类型 □验证型 □设计型
√综合型 学 时 2 一、实验目的及要求(本实验所涉及并要求掌握的知识点) 掌握流程控制语句的使用。
掌握游标、存储过程的定义和使用 二、实验环境(本实验所使用的硬件设备和相关软件) 硬件:微型计算机
软件:Windows XP操作系统;SQL Server2005数据库管理系统;Eclipse 三、实验内容及步骤 一、流程控制语句:
1、BEGIN…END
包括一系列的Transact-SQL语句,从而可以执行一组Transact-SQL语句。
语法如下:
BEGIN
{
sql_statement
}
END
参数含义如下。
sql_statement 使用语句块定义的任何有效的Transact-SQL语句或语句组。
2、IF…ELSE
指定Transact-SQL语句的执行条件。
语法如下:
IF 逻辑表达式
sql_statement
[ ELSE
sql_statement ]
3、WHILE
设置重复执行SQL语句或语句块的条件。
语法如下:
WHILE 逻辑表达式
sql_statement
4、BREAK与CONTINUE
可以使用BREAK和CONTINUE关键字在循环内部控制WHILE循环中语句的执行。 BREAK用于退出最内层的WHILE循环;CONTINUE用于重新开始下一次WHILE循环,在CONTINUE关键字之后的语句都不会被执行,而是跳转到循环开始的地方继续执行。
5、流程控制语句举例:
求100以内的奇数之和
declare @num int,@sum int
set @num=0
set @sum=0
while @num100
begin
set @num=@num+1
if @num%2=0
continue
else
set @sum=@sum+@num
end
print @sum
6、WAITFOR
语法格式:
WaitFor {Delay ‘time’ |time ‘time’}
例1:首先显示学生表的信息,延时10秒钟后再显示课程表的信息
use MyDB
go
select * from student
go
waitfor delay 00:00:10
go
select * from course
Go
例2、在早上八点执行存储过程 ‘mypro’
Begin
Waitfor time 8:00
Exec mypro
End
7、GoTo
GOTO语句将一个批的执行转到另一个有标号的语句。跳过GOTO后面的Transact-SQL语句,并从标号位置继续处理。
例:使用以下语句重新计算从1 加到100 的值。
DECLARE @Result int ,@n int
SET @n=0
SET @Result=0
Loop_1: /*定义标号*/
SET @Result=@Result+@n
SET @n=@n+1
IF @n=100
GOTO loop_1 /*如果小于,跳转到loop_1标号处*/
PRINT @Result
从查询或过程中无条件退出。
语法如下:
RETURN [ integer_expression ]
参数含义如下:
integer_expression
返回的整数值。
9、PRINT
向客户端返回用户定义消息。
语法如下:
PRINT字符串常量|变量| 字符串的表达式。
例:print I am +a teacher
10、CASE 函数
※简单CASE函数:
CASE 表达式1
WHEN 逻辑表达式1 THEN 表达式3
[…n]
ELSE 表达式n
END
※搜索式CASE 函数:
CASE
WHEN 逻辑表达式1 THEN 表达式1
[…n]
[ELSE 表达式n]
END
※简单CASE函数举例
select sname 姓名, 所在系=case sdept
when MS then 数学系
when CS then 计科系
when IS then 信工系
when PS then 物理系
end
from student
select sname 姓名,cname 课程名, case
when grade 89 then 优秀
when grade79 and grade90 then 良好
when grade69 and g
原创力文档

文档评论(0)