Копирование одной таблицы из другой базы данных не позволит мне удалить или вставить в - PullRequest
0 голосов
/ 08 марта 2012

Есть много похожих вопросов, но я не нашел именно то, что ищу.

Я хочу скопировать и полностью обновить одну таблицу из одной базы данных в другую.Затем каждый день SP будет сбрасываться и вставляться в локальную базу данных с основными данными базы данных.Или каким-либо другим способом обновить локальную копию.

Думая о создании хранимой процедуры, которая выполняет «вставку» из базы данных master в локальную базу данных.Когда я сделал это, я получил ошибку, что таблица уже существует, однако.

Нужно ли отбросить всю таблицу, а затем выполнить вставку?Если да, можете ли вы опубликовать пример SQL, пожалуйста?

Мои проблемы: 1) Когда я пытаюсь отбросить таблицу, а затем выполнить вставку, я получаю сообщение об ошибке, что таблица не существует в контексте,Это не позволит мне бросить это.2) Когда я делаю вставку в без капли, он говорит, что таблица уже существует.3) Каков наилучший способ запланировать ежедневный импорт?

USE Local_DB
CREATE PROCEDURE TransferProductTable;
DROP TABLE Local_DB.dbo.tbProduct
SELECT *
INTO Local_DB.dbo.tbProduct
FROM Master_DB.dbo.tbProduct
GO;

Когда я запускаю это, я получаю сообщение об ошибке, что Local_DB.dbo.tbProduct уже существует, или когда я добавляю таблицу удаления, я получаю этоЯ не могу отбросить это, потому что это не существует.

Я также читал здесь, что в SQL Management Studio есть задача импорта данных.Было бы лучше создать запланированную задачу, которая запускает это, или это то же самое, что создать запланированную задачу, которая запускает хранимую процедуру?

Это выполняется на компьютере Windows с MS SQL 2008.

1 Ответ

1 голос
/ 08 марта 2012

Вы задаете много разных вопросов. Но код, который вы разместили, может быть изменен для работы с использованием Truncate вместо DROP:

USE Local_DB 
CREATE PROCEDURE TransferProductTable; 
    Truncate Table Local_DB.dbo.tbProduct 
    Insert INTO Local_DB.dbo.tbProduct 
    select * FROM Master_DB.dbo.tbProduct 
GO; 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...