Sql server 创建变量名为InSource的外部表

Sql server 创建变量名为InSource的外部表,sql-server,variables,Sql Server,Variables,定义外部表时,是否可以在NameInSource中定义变量 我们使用的SQL Server在同一SQL Server实例中的两个环境中有两个数据库名称 因此,我们必须定义如下内容 CREATE FOREIGN TABLE zaak ( col1 ..., col2 ..., ... coln ..., CONSTRAINT ...) ) OPTIONS(NAMEINSOURCE '${databaseName}', UPDATABLE 'TRUE',

定义外部表时,是否可以在
NameInSource
中定义变量

我们使用的SQL Server在同一SQL Server实例中的两个环境中有两个数据库名称

因此,我们必须定义如下内容

CREATE FOREIGN TABLE zaak 
(
    col1 ...,
    col2 ...,
    ...
    coln ...,

    CONSTRAINT ...)
) OPTIONS(NAMEINSOURCE '${databaseName}', UPDATABLE 'TRUE', CARDINALITY '99'); 
……但这不起作用


是否可以在ddl中定义一个在部署时解析的变量?

您不能使用变量来替换文字编号。唯一能够做到这一点的方法是使用动态SQL并安全地注入动态值。这与我们最终将1个数据库迁移到另一台服务器有什么关系。现在,所有数据库在每台服务器上都有相同的名称。