2013-01-10 47 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-Server的程序語言是** T-SQL **(的Transact-SQL) - ** **不PL/SQL(這是Oracle的語言) - 更新後的帖子和標籤。而T-SQL使用**'+'**作爲字符串連接。 [您可以在**廣泛的** SQL Server聯機叢書文檔中查看](http://msdn.microsoft.com/zh-cn/library/ms130214.aspx) –

回答

1

使用PRINT代替dbms_output.put_line,而+代替||

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

PRINT @mQuery; 
+0

非常感謝! – djangofan

1

字符串連接爲+,不||

相關問題