7.数据库行为特征设计-SQL程序设计.ppt
7.1 SQL程序基础 7.2 函数和表达式流程控制语句 7.3 存储过程触发器 7.4 触发器游标 7.5 临时表和表变量 7.6 游标 7.7 事务 7.1 SQL程序基础 7.1.1批处理: 批处理是一组Transact-SQL 语句,其中可以包括变量的流程控制语句 由客户端应用程序一次性地发送到数据库服务器 SQL Server 的数据库服务器将批处理语句编译成一个可执行单元,此单元称为执行计划,执行计划中的语句被逐条执行。 批处理中语法错误:将使执行计划无法编译,所有语句都不执行。 批处理中的逻辑(运行)错误(如违反完整性规则):该语句将不能正常运行,该语句以前语句正常执行,该语句以后语句大多数情况下不能正常运行,少数情况下仍能正常运行。 7.1.2 变量的声明和使用 变量分局部变量和全局变量 局部变量是可以保存指定类型的单个数据值的对象,其名称前必须标以“@”。 全局变量是由系统提供且预先声明的变量,在引用它的时候在名称前必须标以“@@”。 一)局部变量 局部变量的生存期从声明它的地方开始,直到声明它的批处理、存储过程或函数结束 局部变量的定义: DECLARE @变量名 数据类型[,...n] 例:DECLARE @num INTEGER 局部变量赋值:SET @变量名=表达式或SELECT @变量名=〈表达式〉[FROM 表名[,...n] WHERE 子句] 返回局部变量值:PRINT @局部变量或SELECT @局部变量 四)全局变量 全局变量是由系统提供且预先声明的变量,系统根据当前的运行环境和状况对其进行赋值。 用户程序不能改变其值,但它可以被任何批处理程序、存储过程和函数读取。 SQL Server提供了30多个全局变量,下面列出了一些常用的全局变量。 全局变量 @@ERROR:返回最后执行的 SQL 语句的错误代码。 @@FETCH_STATUS:读取游标状态,返回最近的FETCH 语句的执行状态 @@IDENTITY:返回最后插入的标识值。 CREATE TABLE Teacher (TeacherId INT IDENTITY(1000,1) PRIMARY KEY, TeacherName VARCHAR(20) ) 7.1.3 流程控制语句一)分支语句-IF IF 条件表达式 BEGIN 语句[...n] END [ELSE] BEGIN 语句[...n] END //如果IF和ELSE后只有一个语句,可以省略BEGIN和END 二)循环语句 循环语句的一般格式: WHILE 条件表达式 BEGIN 语句[...n] [BREAK] [CONTINUE] 语句[...n] END BREAK语句使循环结束 CONTINUE语句进入下一循环 三) RETURN语句 RETURN [expression] 结束程序,RETURN以后的程序将不被执行。 若包含表达式,通常在函数中使用,表示该函数返回该表达式值,若在存储过程中使用,表达式值必须为整型。 例:实现对某个结点在树结构中所在层数的计算 DECLARE @Id INT,@Lev INT SET @Id=8 --计算id=8结点的层数 SET @Lev=0 WHILE 1=1 BEGIN SET @Id=(SELECT PId FROM GoodsClass1 WHERE Id=@Id) IF @Id IS NULL BREAK ELSE SET @Lev=@Lev+1 END PRINT @Lev 7.2 函数和表达式 函数是存储在数据库中可供其他程序调用的SQL程序,其基本特征是具有返回值 根据返回类型的不同,SQL Server提供了返回单值的标量函数和返回一个表的表值函数两种类型的函数。 函数创建后就永久存在于数据库中,直到使用删除语句删除它。SQL Server提供了大量的内置函数即标准函数供用户调用。 表达式是符号与运算符的组合,SQL Server对其求值以获得单个数据值。 7.2.1 表达式和标准函数 一)各种类型的数据运算及数据类型的隐形转换 1)数值和字符串混合运算 SELECT 100+’123’:输出为223 2)日期和数值混合运算 SELECT GETDATE() + 365:输出为明年与今日同月同日的日期 3)字符串转换为日期 UPDATE Student SET Birthday=- 1990-4-17‘ 4)日期转换成字符串 SELECT LEFT(GETDATE(),2),结
您可能关注的文档
- 2014年南开大学控制综合基础考研资料.pdf
- 2014年建筑信息模型(BIM)实操技术培训课程表(完善终版).pdf
- 2015年下半年系统架构设计师考试真题论文题.pdf
- 2015年北京交通大学电子信息工程学院(895和896)控制理论复习大纲.pdf
- 2016年信息技术考试(含答案).docx
- 2016江西教师招聘面试小学数学说课稿:加法交换律.doc
- 2016西电软件学院招生目录.pdf
- 2017大数据挖掘培训就业趋势.pdf
- 2017年4月模拟题-计算机安全.doc
- 2017年初级经济师考试《人力资源管理》测试试题1-6(乐考网).pdf
- 中国商业地产物业管理项目投资计划书.docx
- 中国哈密瓜香精行业市场前景预测及投资价值评估分析报告.docx
- 中国哈密瓜种植项目创业投资方案.docx
- 中国品牌管理项目创业投资方案.docx
- 中国咖喱酱行业市场前景预测及投资价值评估分析报告.docx
- 中国咨询设计项目投资计划书.docx
- 中国品牌管理项目投资计划书.docx
- 2026中国雄安集团有限公司社会招聘备考题库含答案详解.docx
- 20256中共昭通市委办公室招聘城镇公益性岗位工作人员的8人备考题库附答案详解(完整版).docx
- 2026中医药广东省实验室诚聘科研、管理、工程技术、产业发展各领域英才117人备考题库参考答案详解.docx
原创力文档

文档评论(0)