日期:2014-05-18  浏览次数:20686 次

sql server如何保护一条记录不被删除 比如ID=999的记录
如题
用触发器?如何写

------解决方案--------------------
探讨
SQL code


create trigger tr_b on b
for delete
as
declare @id int
set @id=0
select @id=1 from deleted where id=999
if(@id=1)
rollback tran

------解决方案--------------------
只要一删除就回滚。
------解决方案--------------------
探讨
SQL code
USE TEMPDB
GO
IF OBJECT_ID('TB') IS NOT NULL DROP TABLE TB
GO
CREATE TABLE TB(
ID INT
,VAL VARCHAR(50)
)
INSERT INTO TB
SELECT 1,'A' UNION ALL
SELECT 2,'B' UNION ALL
SELECT 3,'C'
……

------解决方案--------------------
探讨

SQL code
USE TEMPDB
GO
IF OBJECT_ID('TB') IS NOT NULL DROP TABLE TB
GO
CREATE TABLE TB(
ID INT
,VAL VARCHAR(50)
)
INSERT INTO TB
SELECT 1,'A' UNION ALL
SELECT 2,'B' UNION ALL
SELECT 3,'C'
GO
--第一种方法……