文档详情

情景7Transact–SQL程序设计.ppt

发布:2025-04-07约1.18万字共74页下载文档
文本预览下载声明

【例7-8】在以下示例中,使用了一个子查询为@var1赋值。由于为SID请求的值不存在,因此子查询不返回值,并将变量设为NULL。USEstudent; GO DECLARE@var1nvarchar(30)SELECT@var1=GenericNameSELECT@var1=(SELECTSname FROMStudent_info WHERESid=) SELECT@var1AS姓名;7.2Transact-SQL语言的变量任务2掌握流程控制语句开发设计SQL程序时,常常要使用流程控制语句来改变计算机的执行流程以满足程序设计的需要,实现较复杂的功能。SQLServer提供的流程控制语句如表所示。控制语句说明BEGIN…END定义块语句IF…ELSE定义条件以及条件为FALSE时的操作WHILE当特定条件为TRUE时重复语句CONTINUE重新开始下一次循环BREAK退出最内层的WHILE循环GOTO无条件转移语句RETURN无条件返回WAITFOR为语句的执行设置延迟01在程序中如果要对给定的条件进行判定时,当条件为TRUE(真)或FALSE(假)时分别执行不同的T-SQL语句。7.3.1条件语句02IF…ELSE语句为Transact-SQL语句的执行强加条件。只有条件满足,才能执行条件之后的语句或语句块,否则执行ELSE关键字之后的语句或语句块。其中ELSE关键字与其后面的语句块是可选的。1.IF…ELSE语句7.3条件语句和循环语句7.3.1条件语句语法格式:IFBoolean_expression?????{sql_statement|statement_block}[ELSE?????{sql_statement|statement_block}]参数说明:Boolean_expression:返回TRUE或FALSE的表达式。如果布尔表达式中含有SELECT语句,则必须用括号将SELECT语句括起来。sql_statement|statement_block:任何T-SQL语句或用语句块定义的语句分组。除非使用语句块,否则IF或ELSE条件只能执行一条T-SQL语句。若要定义语句块,请使用块定义关键字BEGIN和END。从上述语法格式,可看出IF语句分带ELSE部分和不带ELSE部分两种使用形式:(1)带ELSE部分的IF语句:IFA/*T-SQL语句或语句块*/ELSEB/*T-SQL语句或语句块*/当条件表达式的值为真时执行A,然后执行IF语句的下一语句;当条件表达式的值为假时执行B,然后执行IF语句的下一语句。表达式语句1真假语句27.3.1条件语句(2)不带ELSE部分的IF语句:IFA/*T-SQL语句或语句块*/当条件表达式的值为真时执行A,然后执行IF语句的下一语句;当条件表达式的值为假时直接执行IF语句的下一语句。表达式语句真假7.3.1条件语句【例7-9】如果“计算机基础”的平均成绩高于80分,则显示“计算机基础课程平均成绩高于80分”,否则显示“计算机基础课程平均成绩低于80分”。usestudentdeclare@valchar(30)set@val=计算机基础课程平均成绩高于80分.if(selectAVG(Grade)fromStudent_info,Course_info,SCwhereStudent_info.Sid=SC.SidandCourse_info.Cid=SC.CidandCourse_info.Cname=计算机基础)80select计算机基础课程平均成绩低于80分.elseselect@val【例7-10】IF...ELSE语句的嵌套使用。usestudentdeclare@valfloatselect@val=AVG(Grade)fromStudent_info,Course_info,SC

显示全部
相似文档