following problem을 처리하는 트리거를 작성하려고합니다. 나는 삽입 된 테이블에서 필요한 변수를 꺼내려고 노력 중이다. 다른 테이블의 데이터와 결합하여 필요한 테이블에 삽입한다. (나는 이것이 모호하고 혼란 스럽다는 것을 안다.Insert 문 + 트리거에서 테이블 데이터와 변수 결합
세 개의 테이블을 데이터베이스에 :
- 표 사용자 :
사용자 정보의 테이블, 식별 번호를 포함 - 표 PlaneGPSCoordinates
이
내가 데이터베이스가 작동하는 방법이다 :
라이브 GPS 좌표 테이블입니다. 이 테이블은 크기가 변하지 않으며, 값은 방금 업데이트됩니다. - 표 MatchingInformation :
두 개의 열, 사용자 ID 번호 및 평면 좌표가있는 표.
트리거는 다음을 수행해야합니다 : 표 "사용자"에 삽입
- 새 행을 (즉, 사용자가 로그인까지)
- 트리거 자동으로 복사 키 열을 제외한 PlaneGPSCoordinates의 데이터 () 및 새 사용자의 ID 번호를 가져 와서 두 항목을 표 MatchingInformation에 삽입합니다. 좌표의 5 행마다 1 개의 사용자 ID 번호가 생깁니다. 즉, 트리거는 5 개의 행을 MatchingInformation에 추가합니다. 여기서 userID = 새 사용자의 ID이며 좌표는 모두 PlaneGPSCoordinates 테이블에서 복사됩니다. 내가 SQL에 아주 새로운, 그래서 최악을 가정
CREATE TRIGGER dbo.Matching ON dbo.UserInfo FOR INSERT AS DECLARE @userID as INT BEGIN SET NOCOUNT ON; SELECT @userID = inserted.ID FROM inserted INSERT.... END GO
: 같은
현재, 내 불완전 코드 보인다. GPS 좌표를 가져 와서 INSERT 문을 작성하고 사용자 ID와 결합하여 일치하는 테이블로 밀어 넣는 방법을 모르겠습니다 ...
어떤 도움을 많이 받으실 수 있습니다!
트리거는 행 집합에 대해 작동합니다. 당신의 코드는'SELECT @userID = inserted.IF FROM inserted' 한 번에 하나의 행만 삽입 할 것으로 기대합니다. – HABO