컬럼수가 많아서 좀 복잡하긴 한데 그냥 내가 쓴 쿼리를 그대로 써 넣었다. (업데이트가 제대로 될지 몰라서 트랜잭션을 걸었다. ㅎㅎ)
컬럼수가 좀 많고 복잡해서 이해가 어려울것 같다. 일단 JOIN이 2번 된 형태이다. table_1에 있는 column1을 table_3에 있는 column2의 값으로 모두 입력해 넣으려고 한 쿼리이다.
일단 업데이트문 자체는 그대로 써주고 그 이하는 SELET문에 쓰는것처럼 FROM절을 사용한다. table_1을 table_2와 JOIN하고 그걸 다시 table_3와 JOIN해서 table_3에 있는 column2를 사용하는 것이다. 이름이 겹치지 않아서인지 column1과 2 따로 별칭을 써주지 않아도 되었다.
평소에 쓰던 쿼리들과는 형태가 좀 다른 형태라 이해가 쉽지 않지만 이렇게 쓰면 Update에 JOIN을 해서 사용할 수 있다.
서버에 첨부될 데이터베이스의 이름입니다. 이 이름은 고유해야 합니다. dbname은 sysname이며 기본값은 NULL입니다.
[@filename1=] 'filename_n'
데이터베이스 파일 경로를 포함한 물리적 이름입니다. filename_n은 nvarchar(260)이며 기본값은 NULL입니다. 16개까지 파일 이름을 지정할 수 있습니다. 매개 변수 이름은 @filename1에서 시작하여 @filename16까지 증가합니다. 파일 이름 목록은 데이터베이스의 다른 파일을 지정하는 시스템 테이블이 들어 있는 주 파일을 적어도 하나 이상 포함해야 합니다. 또한 목록은 데이터베이스가 분리된 다음 이동된 모든 파일을 포함해야 합니다.
반환 코드 값
0(성공) 또는 1(실패)
결과 집합
없음
비고
명시적 sp_detach_db 작업을 사용하여 서버에서 이전에 분리된 데이터베이스만이 sp_attach_db를 사용할 수 있습니다.17개 이상의 파일을 지정해야 하는 경우에는 FOR ATTACH 절이 있는 CREATE DATABASE를 사용하십시오.
데이터베이스가 분리된 서버 외의 서버에 데이터베이스를 첨부한 경우 및 분리한 데이터베이스를 복제할 수 있는 경우, sp_removedbreplication을 실행하여 데이터베이스에서 복제본을 제거해야 합니다.
댓글을 달아 주세요