Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Копирование данных в разные базы на одном сервере  [new]
VIT2708
Member [заблокирован]

Откуда: Киев
Сообщений: 1387
Подскажите как скопировать данные из одной базы в другую (базы данных находятся на одном сервере)

в Base1 пытаюсь написать ХР для копирования данных в Base2 - таблицы идентичны

USE [Base1]

CREATE PROCEDURE [ScemaSender].[TransferDataTest]

INSERT [Base2].[ScemaSender].[Table1]
SELECT * FROM [Base1].[ScemaSender].[Table1]

но ругается - "Msg 156, Level 15, State 1, Procedure TransferDataTest, Line 5
Incorrect syntax near the keyword 'INSERT'.
"

То есть проблема заключается в том что я хочу создать ХР в Base1 что бы она копировала данные в Base2, если это возможно?

Спасибо.
14 янв 13, 17:39    [13768394]     Ответить | Цитировать Сообщить модератору
 Re: Копирование данных в разные базы на одном сервере  [new]
Алексей Куренков
Member [заблокирован]

Откуда: Москва
Сообщений: 567
VIT2708,

))))))))))))))))))))) между именем процедуры и телом процедуры вставьте ключевое слово AS
14 янв 13, 17:41    [13768412]     Ответить | Цитировать Сообщить модератору
 Re: Копирование данных в разные базы на одном сервере  [new]
AS потерял
Guest
VIT2708,
CREATE { PROC | PROCEDURE } [schema_name.] procedure_name [ ; number ]
[ { @parameter [ type_schema_name. ] data_type }
[ VARYING ] [ = default ] [ OUT | OUTPUT ] [READONLY]
] [ ,...n ]
[ WITH <procedure_option> [ ,...n ] ]
[ FOR REPLICATION ]
AS { <sql_statement> [;][ ...n ] | <method_specifier> }
[;]
...
14 янв 13, 17:41    [13768413]     Ответить | Цитировать Сообщить модератору
 Re: Копирование данных в разные базы на одном сервере  [new]
Glory
Member

Откуда:
Сообщений: 104751
Потому что синтакис CREATE PROCEDURE тоже надо соблюдать

CREATE PROCEDURE [ScemaSender].[TransferDataTest]
AS
INSERT [Base2].[ScemaSender].[Table1]
SELECT * FROM [Base1].[ScemaSender].[Table1]
14 янв 13, 17:45    [13768435]     Ответить | Цитировать Сообщить модератору
 Re: Копирование данных в разные базы на одном сервере  [new]
VIT2708
Member [заблокирован]

Откуда: Киев
Сообщений: 1387
Алексей Куренков,

я пробовал ставить AS но ругается

"Msg 111, Level 15, State 1, Procedure TransferDataTest, Line 7
'CREATE/ALTER PROCEDURE' must be the first statement in a query batch.
"

но у меня нет дополнительных параметров, нужно просто взять всю таблицу и скопировать в другую базу в такую же таблицу
14 янв 13, 17:49    [13768468]     Ответить | Цитировать Сообщить модератору
 Re: Копирование данных в разные базы на одном сервере  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
VIT2708
Алексей Куренков,

я пробовал ставить AS но ругается

"Msg 111, Level 15, State 1, Procedure TransferDataTest, Line 7
'CREATE/ALTER PROCEDURE' must be the first statement in a query batch.
"

но у меня нет дополнительных параметров, нужно просто взять всю таблицу и скопировать в другую базу в такую же таблицу
А сообщения об ошибках читать не пробовали перед тем как их на форум постить?
14 янв 13, 17:50    [13768470]     Ответить | Цитировать Сообщить модератору
 Re: Копирование данных в разные базы на одном сервере  [new]
VIT2708
Member [заблокирован]

Откуда: Киев
Сообщений: 1387
Glory
Потому что синтакис CREATE PROCEDURE тоже надо соблюдать

CREATE PROCEDURE [ScemaSender].[TransferDataTest]
AS
INSERT [Base2].[ScemaSender].[Table1]
SELECT * FROM [Base1].[ScemaSender].[Table1]


пробовал не сработало


пробовал также вот так но тоже ругается

CREATE PROCEDURE [ScemaSender].[TransferDataTest]
AS
BEGIN
INSERT [Base2].[ScemaSender].[Table1]
SELECT * FROM [Base1].[ScemaSender].[Table1]
END
14 янв 13, 17:51    [13768484]     Ответить | Цитировать Сообщить модератору
 Re: Копирование данных в разные базы на одном сервере  [new]
Glory
Member

Откуда:
Сообщений: 104751
VIT2708
пробовал не сработало

Т.е. теперь сообщение об ошибке выглядит как "Не сработало" ?
14 янв 13, 17:53    [13768501]     Ответить | Цитировать Сообщить модератору
 Re: Копирование данных в разные базы на одном сервере  [new]
AS потерял
Guest
убрать весь код ДО
или выделить только текст процедуры перед тем, как жать Execute
14 янв 13, 17:54    [13768513]     Ответить | Цитировать Сообщить модератору
 Re: Копирование данных в разные базы на одном сервере  [new]
Алексей Куренков
Member [заблокирован]

Откуда: Москва
Сообщений: 567
VIT2708,

учите синтаксис SQL, разбирайтесь с синтаксическими ошибками сами, читайте текст ошибок, которые система Вам выдает.
14 янв 13, 17:54    [13768517]     Ответить | Цитировать Сообщить модератору
 Re: Копирование данных в разные базы на одном сервере  [new]
iiyama
Member

Откуда:
Сообщений: 642
USE [Base1]
[b]GO[/b]
CREATE PROCEDURE [ScemaSender].[TransferDataTest]
[b]AS[/b]
bla bla bla ...
14 янв 13, 17:58    [13768556]     Ответить | Цитировать Сообщить модератору
 Re: Копирование данных в разные базы на одном сервере  [new]
VIT2708
Member [заблокирован]

Откуда: Киев
Сообщений: 1387
iiyama,

Спасибо огроменное
14 янв 13, 18:01    [13768580]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить