Sql server 使用循环更改SQL Server数据库中表的架构

Sql server 使用循环更改SQL Server数据库中表的架构,sql-server,tsql,Sql Server,Tsql,我有一个关于使用循环来更改SQLServer数据库中表的模式的问题 这段代码由于一个错误而失败,我无法找出它的错误 错误是: 错误:“|”附近的语法不正确 下面是T-SQL代码: SELECT DISTINCT TABLE_NAME Into #Temp FROM INFORMATION_SCHEMA.TABLES Declare @Name varchar2 Declare @mQuery varchar2 While (Select Count(*) From #Temp) &g

我有一个关于使用循环来更改SQLServer数据库中表的模式的问题

这段代码由于一个错误而失败,我无法找出它的错误

错误是:

错误:“|”附近的语法不正确

下面是T-SQL代码:

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

tsql中的字符串串接是
+
,而不是
|

使用
打印
而不是
dbms\u输出。put\u行
,和
+
而不是
|

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

PRINT @mQuery;

SQLServer的过程语言是T-SQL(Transact-SQL)——而不是PL/SQL(这是Oracle的语言)——更新了post和标记。T-SQL使用
+
进行字符串连接。