Sql server 使用循环更改SQL Server数据库中表的架构
我有一个关于使用循环来更改SQLServer数据库中表的模式的问题 这段代码由于一个错误而失败,我无法找出它的错误 错误是: 错误:“|”附近的语法不正确 下面是T-SQL代码: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
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使用
+
进行字符串连接。