欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

sql不常用函数总结以及事务,增加,删除触发器

程序员文章站 2023-12-02 20:45:22
sql不常用函数总结以及事务,增加,删除触发器 distinct 删除重复行 declare @x 申明一个变量 convert(varchar(20),tscore.te...
sql不常用函数总结以及事务,增加,删除触发器

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