2017-12-18 19 views
1

같은 스키마 [DATA_Countries]에 속하는 테이블 집합 후에 실행되는 저장 프로 시저가 삭제 된 다음 다시 삽입되었습니다.SQL Server - 스키마의 INSTER INSERT 테이블

조작은 대상이없는 테이블을 삭제하고 다시 작성하는 다른 응용 프로그램에서 수행됩니다.

매번 테이블이 삭제되고 다시 작성되기 때문에 각 대상 테이블에서 트리거를 사용할 수 없습니다.

테이블이 특정 스키마에 삽입 될 때마다 트리거를 가져 와서 해당 테이블의 이름을 반환하고 매개 변수화 된 저장 프로 시저를 실행하는 방법이 있습니까?

감사합니다.

+0

자세한 예제이 Article을 참조하십시오이

CREATE TRIGGER td_ProcTrack ON AdventureWorks FOR CREATE_PROCEDURE, ALTER_PROCEDURE, DROP_PROCEDURE AS BEGIN <my code> END 

같은 트리거를 만들 수 있습니다, DDL 변경시 트리거 할 수 있습니다. 트리거는'CREATE TRIGGER [YourTriggername] on CREATE_TABLE AS ... '데이터베이스를 시작합니다. [CREATE TRIGGER (Transact-SQL)] (https://docs.microsoft.com/en-us/sql/t-sql/statements/create-trigger-transact-sql)를보십시오. – Larnu

+0

감사합니다. AFTER 데이터베이스 트리거를 만들면 작동합니다. 삽입되는 테이블의 이름/스키마에 액세스하는 방법에 대한 아이디어가 있습니까? –

답변

0

예, DDL 변경 사항을 추적하기 위해 SQL Server에 DDL 트리거를 만들 수 있습니다. 내 데이터베이스의 AdventureWorks에 저장 프로 시저의 변화를 추적하려면 예를 들어, 당신이 예, 데이터베이스 트리거를 만들 수 있습니다