1.使用if else语句
①在学生表中,查找名字为王刚的同学,如果存在,显示该同学的信息,否则显示查无此人
if exists(select sno from student where sname='王刚')
else
print '查无此人'
go
②查看有无选修00008号课程的记录,如果有,则显示有,并查询选修00008号课程的人数
if exists(select * from sc where cno='00008')
begin
print '有'
select cno,count(cno) from sc where cno='00008' group by cno
end
提示
if else 语句只对后面的一条语句有效,如果后面要执行的语句多于一条,那么这些语句要用begin end 括起来
2.使用while语句
①假设变量x的初始值为0,每次加1,直至x的值变为3
declare @x int
set @x=0
while
@x<3
begin
set @x=@x+1
print 'x='+CONVERT(CHAR(1),@x)
end
go
//continue 语句的使用
declare @x int
set @x=0
while
@x<3
begin
set @x=@x+1
if(@x=2) continue
print 'x='+CONVERT(CHAR(1),@x)
end
go
//break 语句的使用
declare @x int
set @x=0
while
@x<3
begin
set @x=@x+1
print 'x='+CONVERT(CHAR(1),@x)
break
end
go
3、使用waitfor语句
①指示sqlserver等到当天下午14:30:00,才能执行查询操作
use sm
go
waitfor time '14:30:00'
select * from student
go
②指示sqlserver等待10s后查询student表
use sm
go
waitfor delay '00:00:10'
select * from student
go
4.使用goto语句
在学生表中,查找名字为‘王刚’的同学,如果存在现实该同学的信息;否则显示”查无此人“
if exists(select sno from student where sname='王刚')
goto noation
else
begin
print '查无此人'
return
end
noation:
select * from student where sname='王刚'
go
5.使用case语句
使用case表达式,判断ctno的值,如果为'00',则显示'专业基础课';如果为'01',则显示‘公共基础课’;如果为‘02’则显示‘专业课’否则显示‘待定’
use sm
go
select cno,cname,ctno=
case ctno
when '00' then '专业基础课'
when '01' then '公共基础课'
when '02' then '专业课'
when '03' then '待定'
end
from course
6、使用raiserror语句
在屏幕上显示一个信息,信息中列出当前使用的数据库标识号和名称,信息由格式化字符串直接给出
use NewPlat1
go
declare @dbid int
set @dbid=db_id()
declare @dbname nvarchar(128)
set @dbname=db_name()
raiserror('当前数据库的id值为:%d,数据库名称为%s',1,1,@dbid,@dbname)
go