Sql_Server编程 简明教程

本文介绍了SQL中变量的声明及赋值方法,并通过实例演示了如何使用条件语句和循环语句来控制程序流程,包括如何使用continue和break语句控制循环。

1.变量的声明与赋值

使用declare关键字,如声明一个整型的数字 declare @number int 即可声明了一个名字叫做number的整型的变量

declare [变量名] 变量的数据类型

给变量的赋值使用关键字select或者set给变量赋值 如 select @number = 1 或者set @number = 1

其中select可以一次给多个变量赋值而set一次只能给一个变量赋值,如果使用set给多个变量赋值会报错。

declare @number1 int, @number2 int --声明两个整型变量
set @number1=2, @number2 =3 --使用set一次性给多个变量赋值时会报错
declare @number1 int, @number2 int --声明两个整型变量
select @number1=2, @number2 =3 --使用select给多个变量赋值时不会报错
declare @number1 int, @number2 int,@result int --声明三个变量
select @number1 = 10,@number2 = 5 --使用select给变量赋值
set @result = @number1 * @number2 --使用set给结果赋值
print @result --打印结果
declare @Cartoon_Name char(20) --声明字符变量长度为20
set @Cartoon_Name='《猫和老鼠》'  
print '我最爱的动漫是:'+@Cartoon_Name --打印结果

2.流程控制

2.1条件语句 

if(条件)
begin
    [当条件为真时执行的语句]
end
if(条件)
begin
   [条件为真时执行的语句]
end
else
   [条件不为真时执行的语句]

实例判断坐标点位于的象限

declare @x int,@y int--声明两个变量x和y
set @x=8	--使用set给变量赋值赋值
set @y=-10
--进行判断
if @x>0
	if @y>0
	print '该点位于第一象限'
	else 
	print '该点位于第四象限'
else 
	if @y>0
	print '该点位于第二象限'
	else
	print '该点位于第三象限'
2.2循环
while循环
while [条件]--当条件为真的时候进行循环
--循环体
begin
     [语句]
end
--当条件不为真时结束循环
实例 1~100简单的求和

declare @RowNumber int,@temp int
select @RowNumber = 100,@temp=0
while @RowNumber>0
	begin
		set @temp = @temp + @RowNumber
		set @RowNumber = @RowNumber - 1
	end
print @temp--打印结果


控制循环

continue 结束当次循环并执行下一步循环
declare @test_number int
select @test_number=10
while @test_number>0
	begin
		select @test_number = @test_number -1
		if @test_number = 5
			continue
		else
			print @test_number
	end

下面是程序运行的结果 跳过了条件为5的结果

break语句直接跳出循环

declare @test_number1 int
set @test_number1 = 10
while @test_number1>0
	begin
		if @test_number1 = 5
			break
		else 
			print @test_number1
		set @test_number1 = @test_number1 - 1
	end

以下是程序运行的结果从5(包含5)后面的数据就被截断了


return 无条件结束循环(终止程序)并返回值

declare @test_number2 int
set @test_number2 = 5
if @test_number2>2
	return
else 
	print @test_number2
declare @test_number3 int
set @test_number3 = 5
if @test_number3 > 0
print '遇到return之前'
return
print '遇到return之后'
go


goto语句(跳转)
declare @var_str varchar(20)
set @var_str = 'GoodNight'
Living:
	print @var_str
	return
if @var_str = 'GoodNight'
	goto Living








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值