아래 코드를 사용하여 SQL Server 2008 R2에서 테이블의 이름을 바꾸려고합니다.SQL에서 테이블의 이름을 바꿀 때 테이블 이름에 변수를 사용하십시오.
declare @date varchar(8)
set @date = convert(varchar(8), getdate(), 112)
exec sp_rename 'LM_SM_Billing_and_Send_Data', '[email protected]'
제 의도는 테이블의 이름을 현재 날짜로 변경하는 것입니다.
select convert(varchar(8), getdate(), 112)
반환
20,141,219하지만 이름 변경이 이름 테이블을 실행할 때, 대신 날짜
에 이름을 가질 수 있습니다 만약 내가 궁금하네요 삽입
[email protected]
;
LM_SM_Billing_and_Send_Data_20141219
테이블 이름의 변수를 사용합니다.
저는 꽤 많이 인터넷 검색을 해왔지만 동적 SQL을 사용하는 것으로 보입니다.하지만 필자가 사용한 적이 없으며 찾고있는 결과를 얻는데 구문이 무엇인지 알지 못했습니다.
을 드롭 할 수 없습니다 당신이 할'설정 @name = 'LM_SM_Billing_and_Send_Data_'+ @ date' 다음'간부 인 sp_rename을 'LM_SM_Billing_and_Send_Data', @의 name' 같은? –
SQL은 문자열 보간을하지 않습니다. ''LM_SM_Billing_and_Send_Data_ @ date ''내부를 살펴보고'@ date'를보고 그걸로 무엇인가 할 것이라고 생각하는 것 같습니다. 아니. –