第8章T-SQL语言教程.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1、什么是存储过程(procedure) 一组预编译的 SQL 语句,它可以包含数据操纵语句、变量、逻辑控制语句等。 2、存储过程的优点 A、执行速度更快 B、允许模块化程序设计 C、提高系统安全性 D、减少网络流通量 3、存储过程的分类 (1)系统存储过程 由系统定义,存放在 master 数据库中,类似 C 语言中的系统函数,系统存储过程的名称都以“sp_”开头或”xp_”开头。 (2)用户自定义存储过程 由用户在自己的数据库中创建的存储过程,类似 C 语言中的用户自定义函数。 使用 T-SQL 语句创建和调用存储过程 创建: CREATE PROC[EDURE] 存储过程名 @参数 1 数据类型 = 默认值, …… , @参数 n 数据类型 = 默认值 AS SQL 语句 GO 调用: EXEC 过程名 [参数] 注意: 和 C 语言的函数一样,参数可选 例 1.--创建一个返回结果集的存储过程 prSearchcontentshow create procedure prSearchcontentshow AS begin select * from contentshow end --执行 prSearchcontentshowexecute prSearchcontentshow 例 2.--创建一个要求输入一个输入参数的存储过程 seachConShow create procedure seachConShow @divid varchar(10) --定义一个输入参数 as select * from contentshow where id = @divid --要求 ID 列与输入参数相等 --执行 seachConShow 存储过程execute seachconshow 1 【例9】如果“数据库原理课程”的平均成绩高于75分,则显示“平均成绩高于75分”。 USE stc DECLARE @text1 char(20) SET @text1=平均成绩高于75. IF ( SELECT AVG(成绩)FROM sc,courseWHERE sc.课程号=course.课程号AND course.课程名=’数据库原理’ ) 75SELECT @text1=平均成绩低于75. [ELSE]SELECT @text1 【例10】IF...ELSE语句的嵌套使用。 USE stc IF ( SELECT AVG(成绩)FROM sc,courseWHERE sc.课程号=course.课程号AND course.课程名=’数据库原理’ ) 75SELECT 平均成绩低于75 ELSE IF ( SELECT AVG(成绩)FROM sc,courseWHERE sc.课程号=course.课程号AND course.课程名=’数据库原理’ ) 75SELECT 平均成绩高于75 BEGIN…END语句BEGIN…END语句将多个T-SQL语句组合成一个语句块,并将它们视为一个单元处理。在条件语句和循环等控制流程语句中,当符合特定条件便要执行两个或者多个语句时,就需要使用BEGIN…END语句。 语法形式为:BEGIN{ sql_statement | statement_block}END 3.2 GOTO语句 GOTO语句可以使程序直接跳到指定的标有标识符的位置处继续执行,而位于GOTO语句和标识符之间的程序将不会被执行。通常,应尽量少用GOTO语句。 GOTO语句和标识符可以用在语句块、批处理和存储过程中,标识符可以为数字与字符的组合,但必须以“:”结尾。 语法形式如下:GOTO label……label: 3.3 WHILE…CONTINUE…BREAK语句 WHILE…CONTINUE…BREAK语句用于设置重复执行 SQL 语句或语句块的条件。只要指定的条件为真,就重复执行语句。 CONTINUE语句可以使程序跳过CONTINUE语句后面的语句,回到WHILE循环的第一行命令。 BREAK语句则使程序退出其所在的这一层循环,结束该层循环语句的执行。 WHILE语句的语法形式为: WHILE Boolean_expression{ sql_statement | statement_block }[ BREAK ]{ sql_statement | statement_block }[ CONTINUE ] 【例11】显示字符串China中每个字符的 ASCII 值和字符。 DECLARE @position int, @string char(8) SET @position = 1 SET @string = China WHILE @position

文档评论(0)

x5511160 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档