SQL数据库 T-SQL编程与事务管理

-- T-SQL 数据库编程1.
-- 使用变量:局部变量和全局变量
--局部变量 用户自定义变量 以标记@作为前缀 先声明才赋值
declare @age int --变量的声明
set  @age=10 --变量的赋值
select @age=20 --也是赋值
print @age
declare @name varchar(20)
--select @age=id from c where id=3
--print @age --(使用查询语句赋值)


-- 全局变量 系统变量 都使用两个@标志作为前缀  不用声明 直接使用
select @@version --(该数据库的版本)  
select @@error --(错误信息的编号)  
select @@identity --(返回的是计数器的值)


-- 流程控制语句
--条件
if(条件)
begin
...
end
else
begin
...
end

-- 循环结构
while() 
begin 
...
end

-- 逻辑控制语句
--case end 多分支语句
case
when 条件1 then 结果1
when 条件2 then 结果2
...
else 其他结果
end


select ExanmNo,stuNo,writtenExam,
case
when 条件1 then 结果1
when 条件2 then 结果2
...
else 其他结果
end as '等级' from stuMarks
--批处理命令 go


--事务管理 事务控制
--事务必须具备四个属性:原子性,一致性,隔离性,永久性。(ACID)
 --T-SQL使用下列语句来管理事务
--开始事务:begin transaction
--提交事务:commit transaction
--回滚(撤销)事务:rollback transaction(rollback transaction 标记名 --还原到指定位置)
--保存回滚点:save transaction 标记名  --指定还原点
--   一旦事务提交或回滚,则事务结束。


create table a
(
id int,
name varchar(10)
)
begin transaction
insert into a values (1,'a')
insert into a values (2,'b')
save transaction t1
insert into a values (3,'c')
insert into a values (4,'d')
save transaction t2
insert into a values (5,'d')
insert into a values (6,'d')
save transaction t3
insert into a values (7,'d')
insert into a values (8,'d')
insert into a values (9,'d')
rollback transaction t2 --还原到t2的位置  

select *from a 





--------携着一股什么也不服的劲在活着


猜你喜欢

转载自blog.csdn.net/zoweiccc/article/details/77840515
今日推荐