Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql ';使用';在OPENQUERY语句中_Sql_Sql Server_Tsql - Fatal编程技术网

Sql ';使用';在OPENQUERY语句中

Sql ';使用';在OPENQUERY语句中,sql,sql-server,tsql,Sql,Sql Server,Tsql,是否可以在OPENQUERY中执行“use”语句 这项工作: SELECT * FROM OPENQUERY( server_name, 'select * from AdventureWorks.Person.Address' ) 这并不是: SELECT * FROM OPENQUERY( server_name, 'use AdventureWorks; select * from Person.Address' ) 试试这个- DECLARE

是否可以在OPENQUERY中执行“use”语句

这项工作:

SELECT *
FROM OPENQUERY(
    server_name, 
    'select * from AdventureWorks.Person.Address'
)
这并不是:

SELECT *
FROM OPENQUERY(
    server_name, 
    'use AdventureWorks; select * from Person.Address'
)
试试这个-

DECLARE 
      @SQL NVARCHAR(500)
    , @ServerName NVARCHAR(100) = 'server_name'
    , @DbName NVARCHAR(100) = DB_NAME() -- current db_name

SELECT @SQL = '
SELECT *
FROM OPENQUERY(
    '+ @ServerName + ', 
    ''SELECT * FROM [' + @DbName + '].Person.Address''
)'

PRINT @SQL
EXEC sys.sp_executesql @SQL

我认为-不。为什么您需要直接指定数据库?谢谢格式化devart!我有一个查询,我想在生产和UAT(两个不同的模式,相同的查询)上执行。谢谢开发人员,不错!不幸的是,我对正在执行的查询没有太多的控制权。我所知道的只是它工作的模式。