객실의 4 명에 대해 별도의 열을 갖고 있지 않습니다. 그 대신에 한 명의 이름 열과 한 개의 열과 그룹으로 룸을 구성하여 4 명의 구성원을 얻은 다음 성별을 확인합니다. 솔루션을 계속하려면 트리거를 추가하여 삽입에 실패하지 않으면 성별이 같은지 확인하십시오.
참고 :이 트리거는 한 번에 하나의 행만 삽입하는 경우에만 작동합니다.
트리거 Production.tr_ForeignTable_gender가
[ForeignTable] ON
INSERT AFTER
있듯이
@@ ROWCOUNT = 0 RETURN IF BEGIN CREATE;
SET NOCOUNT ON; (10), @ Gender2 varchar (10), @ Gender3 varchar (10), @ Gender2 varchar) Gender3의 VARCHAR (10)
선택 @@ 이름 1 = 이름 1 @ NAME2 = NAME2 @ NAME3 = NAME3 @ NAME4 = NAME4
삽입
에서
선택 Gender1 @ = 성별 에서 [PrimaryTable] 여기서 NAME = @ 이름 1
선택 Gender2 = 성별 @ [PrimaryTable] 여기서 이름 = @N 행 ame2
선택 [PrimaryTable]에서 Gender3 = 성별 @ 어디 이름 = @ NAME3
선택 [PrimaryTable]에서 Gender4 = 성별 @ 어디 이름 = @ NAME4
@ Gender1 경우! = @ Gender2 또는 @ Gender2! = @ Gender3 또는 @ Gender3!= @ Gender4
BEGIN
쓰루 50000, '성별이 같을 수 없습니다', 0;
끝;
끝;
GO
방 구성원의 성별을 확인하는 사용자 지정 함수를 작성한 다음 방의 테이블에 제약 조건을 추가하여 해당 함수를 호출 할 수 있습니다. 예를 들어 [이 질문] (http://stackoverflow.com/questions/2588072/how-do-i-create-a-multiple-table-check-constraint)을 참조하십시오. – Blorgbeard