2
모든 데이터베이스의 모든 테이블에 일부 작업을 적용하는 SQL Server 스크립트를 만들려고합니다. 어떤 조건이 존중되면 테이블의 이름을 바꾸고, 그렇지 않으면 테이블을 잘라 내야합니다.모든 데이터베이스의 모든 테이블에 대한 작업 실행
이 내 스크립트
EXEC sp_MSforeachdb
@command1 = '
IF not exists(select 1 where ''?'' in (''master'',''model'',''msdb'',''tempdb''))
EXEC [?].dbo.sp_MSforeachtable
@command1 = ''
IF(substring(&, 1, 3)=pv_ and right(&, 5) != _data and right(&, 4) != _BCK)
exec sp_RENAME & , &_BCK''
ELSE IF (right(&, 4) != _BCK)
TRUNCATE TABLE &
@replacechar = ''&'''
나는 약간의 오차가있어하지만 난 SQL Server에 새로운 그리고 난 방법이 스크립트를 수정하는 생각을하지 않았습니다.
제안 사항?
많은 감사합니다.
오류가 무엇입니까 (쿼리 그냥 빠른 해결책, optimalized되지 않음)? – Jim