iam*_*cev 3 sql database sql-server
Main.dbName = "7202"
query = "select * into " + Main.dbName + ".dbo.[AccountReceivableHistory]
from " + dbOrigin + ".dbo.[AccountReceivableHistory] where
AccountReceivableHistory].Date >= '2012-12-27' and
AccountReceivableHistory].Date < '2012-12-28'"
Run Code Online (Sandbox Code Playgroud)
错误说
'7202'附近的语法错误.
您可以使用数字作为表名(或数据库名称或模式名称 - 请参阅我的注释),但是,您需要使用以下命令对其进行转义[]:
select *
into [123].[456].[789]
from OtherTable;
Run Code Online (Sandbox Code Playgroud)
Where [123]表示数据库,[456]表示模式并[789]表示表.
编辑
为了标准化的利益,例如,如果RDBMS之间存在未来可移植性的可能性,请注意应优先使用双引号"而不是[]转义,例如
SELECT * from "123"."456"."789";
Run Code Online (Sandbox Code Playgroud)
但是,您需要确保set QUOTED_IDENTIFIER ON在连接上设置.
如果动态构造对象的名称,请注意,通过提供字符分隔符作为第二个参数,也可以覆盖QUOTENAME函数的默认转义,例如:
select QUOTENAME('123', '"');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
82 次 |
| 最近记录: |