sql不常用函数总结以及事务,增加,删除触发器
发布日期:2022-01-15 19:33 | 文章来源:站长之家
distinct 删除重复行
declare @x 申明一个变量
convert(varchar(20),tscore.tenglish) 类型转换
cast(xx as varchar(10)) 类型转换
www.jb51.net
====================================================== 情况
case
when xxx then xx
when xxxx then xxxxx
else
end ======================================================= while xxx
begin
xxxxxx
end
www.jb51.net
事务
===================================================
begin tran
declare @sum int = 0
update bank set balance=balance-1000 where cid='0001'
set @sum=@sum+@@error
update bank set balance=balance + 1000 where cid='0002'
set @sum=@sum+@@error if @sum<>0
begin
rollback
print '回滚!'
end
else
begin
--提交事务
commit tran
print '提交了!'
end
===================================================
begin tran www.jb51.net
begin try
declare @sum int = 0
update bank set balance=balance-900 where cid='0001'
set @sum=@sum+@@error
update bank set balance=balance + 900 where cid='0002'
set @sum=@sum+@@error
commit
end try
begin catch
rollback
end catch
===================================================== declare @halfCount int= ceiling(@count/2.0) 向上 增加时触发器
=========================================
create trigger tri_TblClass_insert_after
on TblClass after insert
as
begin
declare @id int
declare @name varchar(50)
declare @desc varchar(50)
select @id=tclassId,@name=tclassname,@desc=tclassdesc from inserted print @id
print @name
print @desc
end www.jb51.net
========================================= 删除时触发器
create trigger tri_TblClass_delete_after
on TblClass instead of delete
as
begin insert into TblClassBak
select * from deleted
end
========================================
作者 xhccom
www.jb51.net
====================================================== 情况
case
when xxx then xx
when xxxx then xxxxx
else
end ======================================================= while xxx
begin
xxxxxx
end
www.jb51.net
事务
===================================================
begin tran
declare @sum int = 0
update bank set balance=balance-1000 where cid='0001'
set @sum=@sum+@@error
update bank set balance=balance + 1000 where cid='0002'
set @sum=@sum+@@error if @sum<>0
begin
rollback
print '回滚!'
end
else
begin
--提交事务
commit tran
print '提交了!'
end
===================================================
begin tran www.jb51.net
begin try
declare @sum int = 0
update bank set balance=balance-900 where cid='0001'
set @sum=@sum+@@error
update bank set balance=balance + 900 where cid='0002'
set @sum=@sum+@@error
commit
end try
begin catch
rollback
end catch
===================================================== declare @halfCount int= ceiling(@count/2.0) 向上 增加时触发器
=========================================
create trigger tri_TblClass_insert_after
on TblClass after insert
as
begin
declare @id int
declare @name varchar(50)
declare @desc varchar(50)
select @id=tclassId,@name=tclassname,@desc=tclassdesc from inserted print @id
print @name
print @desc
end www.jb51.net
========================================= 删除时触发器
create trigger tri_TblClass_delete_after
on TblClass instead of delete
as
begin insert into TblClassBak
select * from deleted
end
========================================
作者 xhccom
版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。
相关文章