存储过程&触发器

--创建存储过程

create procedure tj
@xm nvarchar(50),@sex char(2),@age int,@bz nvarchar(50)
as
begin
  insert into stu values (@xm,@sex,@age,@bz)
end
--调用存储过程
exec tj @xm='小明' ,@sex='男',@age=11 ,@bz='万能的小明'
--查看存储过程
sp_helptext tj  --单个
exec sp_stored_procedures --全部
--删除存储过程
drop proc tj

--after 触发器 操作之后执行事件

create trigger cfq1    
on stu  --触发表
after insert  --触发事件
as  --触发后做的事件
if insert(bz)
begin
    print '添加了一条记录'
end

--instead of 触发器 操作之前先执行begin..end,操作的约束。

alter trigger cfq2
on stu
instead of update
as
begin
    print '先执行我!'
end
--alter trigger修改触发器的逻辑,名字不可改!
--查看触发器
exec sp_helptext cfq2
select * from sysobjects where xtype='TR'
--删除触发器
drop trigger cfq3
--禁用触发器:disable
alter table stu disable trigger cfq2
--恢复触发器:enable
alter table stu enable trigger cfq2
--禁用/启用(disable/enable) 所有表上的所有触发器
exec sp_msforeachtable 'alter table ? disable trigger all'
--                    ['alter table ? enable trigger all']

exec --调用自定义sql语句或存储过程

你可能感兴趣的:(存储过程&触发器)