2010-08-18 1 views
0

Я использую SQL Query Analyzer для создания отчета из базы данных на одной машине (A), и я хотел бы создать временную таблицу на сервере базы данных на другой машине (B) и загрузите ее данными с машины A.Создание временной таблицы T-SQL на другом сервере

Чтобы быть более конкретным, у меня есть отчет, который запускается на машине A (machine.a.com), вытягивая из схемы tst. Использование SQL Query Analyzer, я войти на сервер в machine.a.com и затем получить доступ к TST схеме:

USE tst; 
SELECT * 
FROM prospect; 

Я хотел бы создать временную таблицу из этого окна запроса, только я хотел бы он построен на другой машине (назовите его machine.b.com). Какой синтаксис я бы использовал для этого? Я думаю, что-то вроде:

CREATE TABLE machine.b.com.#temp_prospect_list(name varchar(45) Not Null, id decimal(10) Not Null); 

И я хотел бы, чтобы загрузить эту новую таблицу с чем-то вроде:

INSERT INTO machine.b.com.#temp_prospect_list VALUES (
    USE tst; 
    SELECT * 
    FROM prospect;); 
+1

Я думаю, вы не понимаете, что такое временные таблицы. Они активны только для текущего сеанса. Даже если бы вы могли это сделать, я уверен, что он не выполнит то, что вы хотели. Используйте таблицу REAL, и тогда это имеет смысл. – Fosco

+0

Я мог бы использовать реальную таблицу в качестве альтернативы. Синтаксис сильно отличается? Я думал создать постоянную таблицу, вы просто использовали бы имя таблицы, которая не имеет префикса с символом # ... – dvanaria

ответ

0

Синтаксис для доступа к удаленному серверу в T-SQL, чтобы полностью определить любое имя таблицы со следующими (скобками включено при необходимости):

[LinkedServer].[RemoteDatabase].[User].[Table] 

Так, например, для запуска ЗЕЬЕСТА на одном сервере, который получает доступ к таблице на другом сервере:

SELECT * FROM [machine.b.com].tst.dbo.table7; 

 Смежные вопросы

  • Нет связанных вопросов^_^