0

我有一个关于使用循环更改 SQL Server 数据库中表的架构的问题。

此代码由于错误而失败,我无法弄清楚它有什么问题。

错误是:

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

这里是 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
4

2 回答 2

1

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

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

PRINT @mQuery;
于 2013-01-10T19:45:01.480 回答
1

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

于 2013-01-10T19:38:20.183 回答