0

ループを使用して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
4

2 に答える 2

1

tsqlでの文字列の連結は+、ではなく、||です。

于 2013-01-10T19:38:20.183 に答える
1

PRINTの代わりにdbms_output.put_line、およびの+代わりに使用してください||

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

PRINT @mQuery;
于 2013-01-10T19:45:01.480 に答える