一、定义变量及赋值
--定义变量 declare @parameter_set varchar(20) --赋值 set @parameter_set = 1; select @parameter_set = ''; update Members set @parameter_set = Name where ID=''; --定义表变量 declare @tab table(Id varchar(36) not null,Name varchar(10) null) --赋值 insert into @tab values('123','312'); --创建临时表,赋值同上 --# 表示局部 ## 表示全局 create table #table_1( --##table_1 Id varchar(36) not null, Name varchar(10) null ) --直接查询插入到临时表#table_2,无须创建 select * into #table_2 from Members
二、条件、循环、分支语句、异常处理、事务
2.1 条件 if else
if(10>2) begin print('true'); end else begin print('false'); end
2.2 循环 while
declare @num int set @num=1 while(@num<=10) begin print @num end
2.3 分支 case when then else
declare @case_value int declare @result varchar(10) set @result = case when @case_value = 1 then '1' when @case_value = 2 then '2' when @case_value = 3 then '3' when @case_value = 4 then '4' else'0' end print @result
2.4 异常处理try catch
begin try declare @try_int int; set @try_int = 1 / 0; print('1'); end try begin catch --这几个函数只能用在Catch里面! print(error_number());print(error_severity()); print(error_state());print(error_procedure()); print(error_line());print(error_message()); end catch
2.5 事务 tran
begin tran --执行业务逻辑,例如修改数据 if(@@ERROR <> 0) begin --存在错误回滚 rollback tran; end commit tran --最后提交