SQL 문의 실행 순서와 관련된 SQL 스크립트 또는 SQL Server가 시작하기 전에 수행하는 오류 검사와 관련하여 문제가 있습니다.문 SQL Server SQL 스크립트의 실행 순서
이것은 코드를 단순화 한 것이지만 배경에 대해 테이블 finalTable은이 스크립트로 지워지고 다시 채워집니다. DB에 이미 있지만 추가중인 새 열이 없습니다. 이 예에서 참조하기 위해 Col1은 기존 열이고 Col2는 새로운 것입니다.
코드를 모두 실행하면 잘못된 열 이름 'Col2'가 표시됩니다. 각 블록을 개별적으로 실행하면 모든 것이 정상적으로 작동합니다.
블록 A :
SQL to create temporary tables
블록 B :
drop table dbo.finalTable;
create table dbo.finalTable (col1 int, col2 int);
블록 C :
insert into dbo.finalTable(col1, col2) select col1, col2 from #tempTable;
추가 참고로 : 일괄 처리가 컴파일 될 때 처음
SELECT
ALTER TABLE
을 비롯한 모든 문은,이 배치에 COL2가 존재하지 않기 때문에 실행되지 않습니다 새 열이없고 이전 데이터가 남아 있습니다. 해당 세션에서 tempTable을 쿼리하면 정확한 현재 데이터가 있습니다. – MeteorMan전체 스크립트를 표시하십시오. – mallan1121
나는 1800 개의 선을 소유하고 있지만 소유권이있는 정보가 있습니다. – MeteorMan