홈>
만들어야 할 많은 뷰가 있습니다. 이러한 견해 중 다수는 다른 견해에 의존합니다.
아직 생성되지 않은보기에 의존하는보기를 만들면잘못된 개체오류가 발생합니다
전체 작업을 수행하고 종속성을 해결 한 다음 올바른 순서로 모든 항목을 작성하는 대신 모든보기가 작성 될 때까지이 확인 기능을 해제 할 수 있습니까?
보기가 설치된 후 종속보기를 삭제할 수 있으므로 데이터베이스가 존재하지 않는 오브젝트에 의존하는보기가 존재하는 상태에있을 수 있습니다. 창조하는 동안이 상태에있는 것을 받아 들여야합니다 ..
- 답변 # 1
- 답변 # 2
보기가 존재하는 데이터베이스에 액세스 할 수있는 경우 sys.views를 조회하여 순서를 결정할 수 있습니다. 어디에서 만들어 졌는지 아래 쿼리가 도움이 될 것입니다. 목록이 도움이 될 경우 필터링하는 조건자를 추가하십시오.
SELECT v.name FROM sys.views v ORDER BY v.create_date
- 답변 # 3
병리 적으로 게으른 다른 솔루션-CREATE 대신 CREATE OR ALTER를 사용하십시오.잘못된 객체오류가 없을 때까지보기 스크립트를 반복해서 실행하십시오.
종속성이없는 각 반복 뷰에서 이전 반복에서 종속성이 만족 된 뷰는 성공합니다. OR ALTER 비트는 이전 라운드에서 생성 된 객체를 수용합니다. 따라서 모든 라운드가 끝날 때까지 더 많은 물체가 존재합니다.
SQL Server 2016 +.
내가 아는 한 그 뷰에서 참조 된 객체가없는 뷰를 만들 수 없다
당신의 견해에 대한 의존성이 무엇인지 아는 것이 왜 그렇게 고통 스러운가?만들기입니까?
이미 다른 데이터베이스에 존재합니까? 그렇다면 SSMS 또는 SMO를 사용하여 종속성 순서대로 스크립트를 작성하고이 문제를 무시할 수 있습니다.