2013-01-10 2 views
0

루프를 사용하여 SQL Server 데이터베이스의 테이블 스키마를 변경하는 방법에 대한 질문이 있습니다.루프를 사용하여 SQL Server 데이터베이스의 테이블 스키마 변경

이 코드는 오류로 인해 실패하고 있으며 무엇이 잘못되었는지를 알 수 없습니다.

Error: Incorrect syntax near '|'.

그리고 여기에 T-SQL 코드입니다 :

오류는 TSQL에서

SELECT DISTINCT TABLE_NAME 
Into #Temp 
FROM INFORMATION_SCHEMA.TABLES 

Declare @Name varchar2 
Declare @mQuery varchar2 

While (Select Count(*) From #Temp) > 0 
Begin 

    Select Top 1 @Name = Name From #Temp; 

    SET @mQuery = 'ALTER SCHEMA schema1 TRANSFER schema99.' || @Name || ';' ; 

    dbms_output.put_line(@mQuery); 

    --sp_executesql @mQuery; 

    Delete #Temp Where Name = @Name; 

End 
+2

SQL-서버의 절차 적 언어는 ** T-SQL ** (Transact-SQL)를 참조하십시오이다 오라클의 언어) - 업데이트 된 게시물 및 태그. 그리고 T-SQL은 문자열 연결에 **'+'**를 사용합니다. [** 광범위한 ** SQL Server 온라인 설명서]에서 확인할 수 있습니다 (http://msdn.microsoft.com/en-us/library/ms130214.aspx) –

답변

1

대신 사용 dbms_output.put_linePRINT+ 대신 ||의 : - **하지 ** PL/SQL (

SET @mQuery = 'ALTER SCHEMA schema1 TRANSFER schema99.' + @Name + ';' ; 

PRINT @mQuery; 
+0

그 덕분에 대단히 감사합니다! – djangofan

1

문자열 연결이 +하지 ||입니다.

관련 문제