테이블이없는 경우 데이터를 다른 데이터베이스로 이동하는 동적 스크립트를 생성하고 싶습니다. 이 스크립트는 직접 실행하면 완벽하게 실행됩니다. 그러나 해당 스크립트 문자열이 execute 문으로 실행되면 오류가 발생합니다. 나는 또한 exec를 시도했다.
declare @temp as varchar(max)
set @temp='select * into Allocation_Archive.dbo.Users from Users'
execute @temp
오류
Database 'select * into Allocation_Archive' does not exist. Make sure that the name is entered correctly.
USE database
변수에 문을 추가 하거나 데이터베이스 및 스키마를 포함한 전체 개체 이름을 지정합니다.@temp
괄호 안에 변수를예를 들면 :
declare @temp as varchar(max)
set @temp='select * into Allocation_Archive.dbo.Users from ThisDatabase.dbo.Users'
execute @temp
사용하지 마십시오 :
EXECUTE @temp
대신 사용
EXEC sp_executesql @temp
또한 @temp
변수를 다음과 같이 변경해야 합니다.nvarchar(max)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다