2011-02-13 3 views
0

필자는 DDL 트리거를 작성한 적이 없지만 스키마가 변경되면 SQL을 실행한다는 것을 이해합니다. 반복적 인 작업을 간소화하기 위해 노력하고 있습니다. 정말 감사 목적으로 만 설계되었는지 확실하지 않습니다. 제 서적 위치의 int 필드 [ID]의SQL Server 2008에서 DDL 트리거를 작성하여 열 이름을 기반으로 키를 자동으로 만들 수 있습니까?

  • :
    • 가 기본 키
    • 하게는 신원 시드/증가가 VARCHAR 필드 정보 [1
  • 이다 설정된 이름]을 두 번째 순서 위치에 입력하십시오.
    • 고유 한 키로 지정하십시오.

기본적으로 질문은 다음과 같습니다. SQL Server 2008의 DDL 트리거는 내가 원하는 작업과 일치합니까? (이미이 작업을 수행하고 바로 SQL 코드를 가지고 있다면 붙여 넣을 수 있습니까?)

+0

나는 대답이 나를 도울 때 받아들이려고한다. 모든 사람들이 똑같은 일을한다면 품질을 유지할 수 있을까요? 나는 내가 공정하고 싶어하는 것처럼 보일 것이다. 팁을 주신 덕분에 –

답변

1

DDL 트리거는 원하는 작업에 적합하지 않습니다.

DDL 트리거 테이블을 이미 실행 한 후 실행하십시오.

열에는 identity 특성이 소급하여 추가 될 수 없으므로 트리거에서 동적 SQL을 사용하여 새로 작성된 테이블을 즉시 삭제하고 다시 작성해야합니다.

심지어 개인 프로젝트 용이라고 가정해도 개발자가 놀라움을 걱정할 필요가 없으며 create 스크립트를 생성하는 비효율적 측면에 대해 신경 쓰지 않아도됩니다. 처음으로 CommandText을 스크래치하거나 파싱하십시오.

이것이 일반적인 패턴 인 경우 SSMS 템플릿 탐색기에서 사용자 정의 CREATE TABLE 템플릿을 만드는 방법을 조사하는 것이 좋습니다.

+0

. 동적 SQL은 tsql 문자열을 작성하거나 행을 information_schema 뷰에 삽입하는 것을 의미합니까? –

+0

동적 SQL은 이러한보기를 수정하여 테이블 구조를 변경할 수없는 TSQL 문자열을 작성합니다. –

+0

+1 템플릿 탐색기에 대한 언급 –

관련 문제