浅谈结构化查询语言数据库中几种语句的应用

时间:2022-06-23 07:18:23

浅谈结构化查询语言数据库中几种语句的应用

应用SQL Server 2000解决实际问题时,标准的T-SQL语句不能满足需要,需要加一些非标准的语言要素。作为高职院校的教师,要培养高技能的人才,教师必须对理论教学内容和实践教学内容都要做到精、透,这就需要不断地学习和积累经验。

众所周知,结构化查询语言SQL(Structured Query Language)是IBM公司在20世纪70年代开发的查询语言,SQL标准经过多次修改,现在已成为关系型数据库环境下的标准查询语言。作为SQL Server使用的Transact-SQL语言,它不但包含了标准的SQL语言部分,而且为了增强可编程性和灵活性,另外增加了如注释、变量、函数等非标准的语言要素。在对SQL Server 2000的三年教学中,对SQL Server语句的应用进行了归纳总结,积累了一些经验。

一、go语句的应用

为了提高程序的执行效率,在Transact-SQL语言编写的程序中,把多个语句放在一起形成语句组,在执行程序时把语句组作为一个批处理一次性地发送到SQL Server服务器。同时,为了使程序的各组成部分及功能划分比较清楚,在每一个批处理后用Go语句作为结束标志,虽然Go语句有时不是必须用的。但在下列情况下,必须使用GO语句。

1、在使用命令创建数据库并打开数据库时,若这两个操作一起执行则必须使用GO语句进行分隔。

2、在数据库中创建视图时,在打开数据库语句和创建视图语句一起执行时必须使用GO语句进行分隔。

3、在执行存储过程时,若没有使用EXEC命令,则此存储过程与其他语句一起执行时必须使用GO语句进行分隔。

4、在数据库中创建函数、存储过程或触发器时,在打开数据库语句和创建函数、存储过程或触发器语句一起执行时必须使用GO语句进行分隔。

另外,严格来讲,Go语句本身不是Transact-SQL语句的组成部分,所以在给程序添加注释时注释内容不能直接放在GO语句的后面。

二、select语句的应用

Select语句能够完成对表中数据的查询,而且查询是对表中数据处理的最常用的操作,但select语句的功能及应用还有很多。

1、显示函数或变量的值

例如:

程序如下:

use student

go

select*from course

go

insert into course values('03102','网络数据库',5)

select@@error as '第一次插入记录时的错误代码'

在这里,select语句通过显示全局变量@@error的值来表明上一条语句执行是否出错,并在显示值前显示提示信息行。

又例如:显示当前日期时间以及到当前日期时间试图登录SQL Server的次数。

程序如下:

select getdate(),@@connections

在这里,显示结果没有提示信息行,但在同一行一次可显示两个(或多个)值。

2、局部变量的赋值

例如:

程序段如下:

declare @a int,@ch char(12)

select@a=5,@ch='网络数据库'

在这里,变量的值与表中数据无关。

3、在查询子句中把查询结果直接赋给变量

例如:

程序如下:

use student

declare@rowcount int

select@rowcount=count(*)from stu

/*上一条语句的功能是查询表stu,返回的记录个数赋给变量@rowcount*/

select@rowcount as 'STU表的记录数'

在这里,语句

select@rowcount=count(*)from stu

等价于语句

set@rowcount=(select count(*)from stu)

可见,select语句还可作为表达式放在赋值运算符的后面。但需要说明的是,上述两种情况仅限于查询结果是单值的情况。

4、显示表中不存在的列

假设表stuscore中有三个列,列名依次是s_number(学号)、c_number(课程号)和score(分数),且学号的值的表示形式如:'0421305',表示此学生是2004级213班05号。那么,显示此表的记录信息时在学号字段前显示班级信息,命令语句如下:

select班级=substring(s_number,3,3),

s_number学号,c_number 课程号,score分数from stuscore

(作者单位:黑龙江农业工程职业学院)

上一篇:图形组织者在英语阅读教学中的作用 下一篇:浅谈自主学习在英语学习中的重要性