tj第六节_SQL_编程技术.pptVIP

  • 4
  • 0
  • 约1.13万字
  • 约 65页
  • 2017-06-17 发布于湖北
  • 举报
第六章 SQL 编程技术 6.1 SQL 编程基础 6.1.1 批处理    批处理是一个以“GO”为结束的语句集.这些语句是作为一个组来执行并一起提交的.        脚本是一系列顺序执行的批处理.脚本文件的文件类型为 .sql 注意:GO不是SQL语句. 例:给出含有三个批处理的脚本 CREATE TABLE 学院 ( 学院名称 char(12) PRIMARY KEY, 院长 char(8) , 学院地址 char(16) , 办公电话 char(8) , 编制人数 smallint ) GO INSERT INTO 学院 VALUES(计算机学院,刘洋,一号楼450) INSERT INTO 学院 VALUES(商学院,梁山,五号楼30260) GO SELECT * FROM 学院 GO 6.1.2 变量 1.变量的类型 局部变量 --以 @ 引导,由用户定义.其作用域定义的辖域中. 全局变量 --以 @@ 引导,由系统提供并赋值.其作用域为全局. 6.1.2 变量 2.变量的声明 语句格式: DECLARE @ 变量名 数据类型 [, @ 变量名 数据类型 ……] 例:声明变量 DECLARE @Name CHAR(8), @Sex CHAR(2), @Age SMALLINT 6.1.2 变量 3.变量的赋值 语句格式一: SET @变量名称=表达式 语句格式二: SELECT @变量名称=表达式 语句格式三: SELECT @变量名称=字段(或函数) FROM 表(或视图)名 WHERE 条件表达式 举例 例1: DECLARE @Name CHAR(8), @Sex CHAR(2), @Age SMALLINT SET @Name=‘李华’ SET @Sex =‘女’ SET @Age=20 例2: DECLARE @Name CHAR(8) SELECT @Name=‘李华’ 举例 例3: DECLARE @Name CHAR(8), @Sex CHAR(2), @Age SMALLINT SELECT @Name=姓名,@Sex=性别, @Age=YEAR(GETDATE())-YEAR(出生日期) FROM 学生 WHERE 学号 SELECT @Name, @Sex, @Age GO 6.1.3控制流语句    包含条件控制语句、无条件转移语句、循环语句等。 6.1.3控制流语句 1.BEGIN … END 功能:将一组SQL语句作为一个语句块。 语句格式: BEGIN SQL语句序列 END 与IF语句和WHILE语句配合使用 6.1.3控制流语句 2.IF … ELSE 语句 语句格式: IF 条件表达式 SQL语句序列1 ELSE SQL语句序列2 举例 USE 教学数据库 GO DECLARE @gavg smallint SELECT @gavg=AVG(成绩) FROM 选课 WHERE 课程号=(SELECT 课程号 FROM 课程 WHERE 课程名称=大学英语) IF (@gavg80) PRINT 大学英语课程的平均成绩高于80分 ELSE BEGIN PRINT 大学英语课程的平均成绩低于80分 select 平均成绩:,@gavg END 6.1.3控制流语句 3.循环语句  语句格式:  WHILE 条件表达式 SQL语句序列1 [BREAK]    [SQL语句序列1] [CONTINUE]   举例: 求出大学英语课程的平均成绩 当该分数小于80分时,循环做,给所有成绩高于平均分的成绩加1分,当最高分大于100时停止加分.并显示加的分数. 该分数(平均成绩)大于80分时,循环停止并显示加的分数 举例 DECLARE @gavg smallint,@COUN smallint SET @COUN=0 SELECT @gavg=AVG(成绩) FROM 选课 WHERE 课程号= (SELECT 课程号 FROM 课程 WHERE 课程名称=大学英语) WHILE (@gavg80) BEGIN SET @COUN=@COUN+1 UPDATE 选课 set 成绩=成绩+1 where 课程号=(SELECT 课程号 FROM 课程 WHERE 课

文档评论(0)

1亿VIP精品文档

相关文档