欢迎来到天天文库
浏览记录
ID:56002320
大小:80.50 KB
页数:5页
时间:2020-03-15
《[经济学]第六章 SQL编程基础.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、概述在第三章里己经详细地介绍了交互式SQL语言这种SQL语言仅限于以单命令的方式操作数据库缺少灵活的数据处理能力。当前许多DBMS系统提供了编程环境下的SQL语言。在标准SQL语言基础上将高级语言程序设计的方法引入SQL语言扩充了程序流程控制语句使其既有较强的数据廉操作功能又兼顾高级语言的编程特点。木章将在交互式SQL的基础上增加有关SQL程序设计的内容其中包括局部变量、全局变量、控制流语句、游标等编程基础知识。然后介绍存储过程、触发器和嵌入式SQL等具体的SQL编程技术。2第六章SQL编程技术SQL编程兼顾交互式SQL和
2、高级语言编程的特点在学习的过程中要善于理解SQL语言和高级程序设计语言的区别用熟悉的知识来理解新学的内容以达到爭半功倍的效杲。本文以SQLServer2000为实验平台SQL程序也以SQLServer2000的编程方法为基础。1L尽量选择比较通用的方法便于读者能够学以致用。36.1SQL编程基础程序设计必然要运用内存变量、分支、循环等程序设计方法SQL程序设计也不例外都有这些基本的程序设计元素。46.1SQL编程基础6.1.1批处理批处理和脚本只是SQLServe冲使用的两个术语为了编写SQLServer®序我们这里先给出
3、这两个概念的含义。批处理是一个以“GCT结束的SQL语句集这些语句是作为一个组来执行并一起提交的。“GCT是SQLServer2000批处理的结朿标志不是SQL语句。56.1SQL编程基础6」」批处理例如下而的SQL程序中包含3个批处理。CREATETABLE学院学院名称CHAR12PRIMARYKEY院长CHAR8学院地址CHAR16办公电话CHAR8编制人数SMALLINTGOINSERTINTO学院VALUES计算机学院刘海洋一号楼6048590587850INSERTINTO学院VALUES商学院江山五号楼3018
4、590885160GOSELECTFROM学院GO66」SQL编程基础6.1.1批处理说明1如果一个批处理的所有语句止确执行则整个批处理顺利提交否则批处理屮只要有一个语句错课则整个批处理都不提交。2有些语句不能组合在同一批处理屮例如ALTERTABLE修改表和UPDATE更新表中的新列放在一个批处理中将会出现错误。76.1SQL编程基础6.1.1批处理将包含多个批处理的一个程序存放在以后缀为“.SQL”的文件中该文件称为脚本。86.1SQL编程基础6.1.2变量1变量的类型在SQLServer2000中变量可分为局部变量和
5、全局变量。局部变量是用户肚义的变量全局变量是由系统定义的变量。局部变量的名称以"开头全局变量的名称以"开头。局部变量和全局变量的主要区别是作用域不同局部变量的作用域是在声明变量的批处理、存储过程或者语句组中而全局变量的作用域是则全局。96.1SQL编程基础6.1.2变量2.变量的声明变量声明语句格式DECLARE变量名称数据类型变量名称数据类型例6」声明Name、Sex和Age三个局部变量。DECLARENameCHAR8SexCHAR2AgeSMALLINT106」SQL编程基础6」.2变量3.变量的赋值可以用SET或S
6、ELECT语句给变量赋值。116.1SQL编程基础6.1.2变量【格式一】SET变量名称表达式例6.2给Name、Sex和Age三个局部变量赋值。DECLARENameCHAR8SexCHAR2AgeSMALLINTSETName李华SETSex女SETAge20GO126」SQL编程基础6.1.2变量【格式二】SELECT变量名称表达式例6.3给局部变量Name赋值。DECLARENameCHARSSELECTName李华136」SQL编程基础6.1.2变量【格式三】将查询结果指定给变量查询结果必须是单一值。语句格式SE
7、LECT变量名称字段或函数FROM表名WHERE条件表达式146.1SQL编程基础6.1.2变量例6.4有学生关系R学号姓名性别年龄检索学号为‘200490111??的学生姓名、性别和年龄并将查询结果传递给局部变量Name、Sex和Age。DECLARENameCHARSSexCHAR2AgeSMALLINTSELECTName姓名Sex性别Age年龄FROM学生WHERE学号??200490111??GO156.1SQL编程基础6.1.3SQL的控制流语句控制流语句可以控制SQL语句的执行顺序在存储过程、触发器和批处理中
8、很有用。166.1SQL编程基础6.1.3SQL的控制流语句1.BEGIN...END功能将一组SQL语句作为一个语句块。语法格式BEGINEND说明:BEGIN...END语句的作用实际上相当于C语言中的作用其间的语句序列作为一个块执行。允许BEGIN...END语句块嵌套。通常BEGIN...END
此文档下载收益归作者所有