2014-01-20 2 views
1

database에서 레코드 삭제를 제한하기위한 트리거가 sql 서버에 생성되었습니다. 이것은이 트리거는 기록을 삭제에서 사용자를 제한하는 trigger트리거를 사용하여 단일 행을 삭제하는 방법

create trigger del on details 
for delete 
as begin 
rollback tran 
end 

를 만들기위한 내 쿼리입니다. 하지만 이제는 사용자가 한 번에 하나씩 레코드를 삭제할 수있는 trigger을 만들고 싶습니다. trigger을 사용하면 어떻게됩니까? (트리거 내부 코드)를 사용

+0

MySQL 또는 MSSQL 용입니까? –

답변

2

보십시오

SELECT COUNT(*) FROM Deleted 

경우 1보다 큰, 롤백. 또한 @@ROWCOUNT > 1인지 확인한 다음 롤백 할 수 있습니다.

+0

트랜잭션을 롤백하는 대신 오류를 던져야합니다. 그렇지 않으면 응용 프로그램 코드 문제를 해결할 때이 시나리오를 식별하기가 어려울 수 있습니다. – wdosanjos

+0

좋은 설명 (여러 행 업데이트를 방지하는 특정 작업을 돕기 위해 노력했습니다). – SAS

관련 문제