创建一个delete触发器,如果有删除的员工是基本工资大于3000元并属于‘开发部’的则取消删除操作!

 我来答
skyfukk
2011-12-30 · TA获得超过1187个赞
知道小有建树答主
回答量:966
采纳率:100%
帮助的人:635万
展开全部
推荐使用instead of触发器(理由:没有必要插入后删除,浪费系统资源),代码如下:

create trigger Mytr
on 表名
instead of deleted
as
delete from 表名 from (
select * from deleted
where (deleted.部门='开发部' and deleted.工资<3000) or deleted.部门<>'开发部'
) as a
where a.员工编号=表名.员工编号
百度网友fd31b6e
2011-12-20
知道答主
回答量:18
采纳率:0%
帮助的人:18.5万
展开全部
create TRIGGER [tg_PersonnelDelete]
ON [dbo].[PersonnelDate] --员工表
instead of DELETE
AS
BEGIN
declare @code varchar(50), @department varchar(50),@totalmoney money
select @code=code,@department=department,@totalmoney=totalmoney from deleted
--code为唯一标识的员工号,department为部门,totalmoney为金额

if @totalmoney>3000 and @department='开发部'
begin
select @code='员工:'+@code+'基本工资大于3000元并属于‘开发部’,不能进行删除!'
raiserror(@s,16,10)
end
else
begin
delete from PersonnelDate where code=@code
end

END
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式