一、定义变量
--简单赋值
declare @a int
<pre name="code" class="sql">set @a =5
print @a
--使用select 语句赋值
declare @user1 nvarchar( 50)
select @user1 = ' 张三'
print @user1
declare @user2 nvarchar( 50)
select @user2 = Name from ST_User where ID =1
print @user2
--使用update 语句赋值
declare @user3 nvarchar( 50)
update ST_User set @user3 = Name where ID =1 -- 注意更新的是表, set某个字段
print @user3
二、临时表、表变量
-- Select INTO 从一个查询的计算结果中创建一个新表。数据并不返回给客户端,这一点和普通的 Select 不同。
--新表的字段具有和Select 的输出字段相关联(相同)的名字和数据类型。
select * into NewTable from Uname
-- 表ABC 必须存在,把表 Uname里面的字段Username复制到表 ABC
Insert INTO ABC Select Username FROM Uname
--全局临时表(##开头)对其它连接也有效,在当前连接和其他访问过它的连接都断开时自动删除。
--不管局部临时表还是全局临时表,只要连接有访问权限,都可以用 drop table #Tmp(或者 drop table ##Tmp)来显式删除临时表。
Create TABLE #temp (
UID int identity( 1, 1 ) PRIMARY KEY,
UserName varchar (16),
Pwd varchar (50),
Age smallint ,
Sex varchar (6)
)
三、循环
--while循环计算到的和
print @ sum
declare @a int
declare @sum int
set @a =1
set @sum =0
while @a <10
begin
/*set @sum=@sum+@a
set @a=@a+1*/
set @sum +=@a --理解为设置加一个数,这个加的数就是后面接的数;同注释语句的含义
set @a +=1
end
print @sum
四、条件语句
--if,else条件分支
if(1 +1= 2)
begin
print ' 对'
end
else
begin
print ' 错'
end
--case when then else end 条件分支
declare @today int
declare @week nvarchar( 3)
set @today =3
set @week = case
when @today =1 then '星期一 '
when @today =2 then '星期二 '
when @today =3 then '星期三 '
when @today =4 then '星期四 '
when @today =5 then '星期五 '
when @today =6 then '星期六 '
when @today =7 then '星期日 '
else ' 值错误'
end
print @week