편집 : 나중에 Visual Studio DB Project를 사용하는 경우 테이블, 트리거 등의 존재 여부를 확인할 필요가 없음을 알았습니다.IF OBJECT_ID ('TableName', 'U') 내에 트리거 문을 만듭니다. 'BEGIN'근처의 구문이 잘못되었습니다. Exterior EXTERNAL
트리거를 만들려면 어떻게해야합니까? 다음은 아래 오류를 보여줍니다.
IF OBJECT_ID('SomeSchema.tableName', 'U') IS NOT NULL
BEGIN
CREATE TABLE SomeSchema.tableName (...
);
END
GO
IF OBJECT_ID('SomeSchema.tableName', 'U') IS NOT NULL
BEGIN
CREATE TRIGGER [SomeSchema].[triggername]
ON [SomeSchema].[tableName]
FOR UPDATE
AS
BEGIN
IF @@ROWCOUNT = 0 RETURN
SET NOCOUNT ON
UPDATE SomeSchema.tableName
SET SomeColumn = GETUTCDATE(),
OtherColumn = HOST_NAME()
FROM SomeSchema.SomeTable INNER JOIN INSERTED ON INSERTED.ID =
SomeSchema.SomeTable.Id
END
END
Error:
SQL80001: Incorrect syntax near 'BEGIN'. Expecting EXTERNAL.
이것은 시각적 인 스튜디오 데이터베이스 프로젝트에 있습니다. 이것은 clr 트리거가 아닙니다. 생성 트리거가 if 문 안에있을 때만이 오류가 발생합니다.
이 코드는 clr 트리거이며, 전체 텍스트를 – TheGameiswar
에 올리십시오.이 텍스트는 최소한 2 가지 이유가 있습니다. 우리는 더 많은 코드를 볼 필요가있다. –
문제는 시작 부분 사이의 4 도트 중 하나에 있습니다. 더 자세한 정보를 얻으려면 점들을 확대해야합니다. 그래서 우리는 그 안에 무엇이 있는지 읽을 수 있습니다 .... – GuidoG