创建一个 table 或从 EXEC 语句查看 SQL 服务器

Create a table or view from EXEC statement SQL Server

EXEC('Select
          trim(field1) field1
          CVDATE(date1) date1
      from tabel1
      where trim(field1) <> 'ABC' ') at AE  --linked server

我需要将 EXECUTION 语句生成的结果转储到视图中。这可能吗?我猜这样写查询是由于性能原因

您可以在远程服务器上使用 openquery 到 运行 SELECT 并从结果集创建视图。

这是一个代码示例。该示例创建 local1 作为链接服务器并在其上执行查询。如果您已经注册了链接服务器,则不需要 运行 步骤 1 和步骤 4。

-- Step 1. register a linked server
exec sp_addlinkedserver 
        @server = 'local1',
        @srvproduct = '',
        @provider='SQLNCLI',
        @datasrc = 'NameOfTheRemoteServer' -- if server has multiple instances use 'NameOfTheServer\NameOfTheInstance'
go

-- Step 2. run the query on remote server and create a view out of the results
create view ViewTest
as
select * from openquery(
    local1, 
    'select 
        top 10 
        lower(AddressLine1) as Street,
        ModifiedDate as dt
    from AdventureWorks2014.Person.Address'
    )
go

-- Step 3. check the view
select * from ViewTest
go

-- Step 4. finally drop the linked server
sp_dropserver 'local1'
go