2016-08-29 3 views
1

Auth2.dbo.Accounts: account_ID, login_name, пароль, другие столбцы ...Вставка из одной таблицы в другую (различные базы данных)

Auth.dbo.Account: account_id, счета, пароль, другие столбцы ...

Я хочу, чтобы вставить счета (account_id, счета, пароль) из "Auth.dbo.Account" в "Auth2.dbo.Accounts" (account_id, login_name, пароль) и предоставление другие значения столбцов, которые я хочу.

Я надеялся, что это может работать, но как только я написал в студии управления SQL, я получил ошибку синтаксиса ошибки рядом с «выберите account_id из Auth.dbo.account»

INSERT [dbo].[Accounts] ([account_id], [login_name], [password], 
     [referral_id], [referral_code], [pcbang], [block], 
     [withdraw_remain_time], [age], [auth_ok], 
     [last_login_server_idx], [event_code], [server_list_mask], 
     [result], [ip], [game_code], [gamecode], [login_event], 
     [email], [security_a_1], [security_a_2], [security_a_3], 
     [security_a_4], [security_q_1], [security_q_2], [security_q_3], 
     [security_q_4], [votepoints], [cash], [country]) 
VALUES (select account_id from auth.dbo.Account, N'Imad', 
       N'3cfbbd2ae3c3e416c6d00a5a12ee60e8', NULL, NULL, 
       0, 0, NULL, -1997, 1, NULL, NULL, NULL, NULL, 
       N'::1', NULL, NULL, NULL, N'[email protected]', 
       NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 
       0, 189, NULL) 

ответ

4

Попробуйте с простыми INSERT/SELECT , В этом случае account_id будет от auth.dbo.Account, а все остальные значения будут постоянными.

INSERT Auth2.[dbo].[Accounts] ([account_id], [login_name], [password], [referral_id], [referral_code], [pcbang], [block], [withdraw_remain_time], [age], [auth_ok], [last_login_server_idx], [event_code], [server_list_mask], [result], [ip], [game_code], [gamecode], [login_event], [email], [security_a_1], [security_a_2], [security_a_3], [security_a_4], [security_q_1], [security_q_2], [security_q_3], [security_q_4], [votepoints], [cash], [country]) 
select account_id , N'Imad', N'3cfbbd2ae3c3e416c6d00a5a12ee60e8', NULL, NULL, 0, 0, NULL, -1997, 1, NULL, NULL, NULL, NULL, N'::1', NULL, NULL, NULL, N'[email protected]', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 189, NULL from auth.dbo.Account; 
+0

Вся первая строка недействительна. Она говорит, что имена столбцов недопустимы, поскольку мы не указали базы данных –

+0

@Dablackninja ok попробуйте теперь с ссылкой на ссылку Auth2 на вставленную таблицу. – vercelli

+0

Исправлена ​​ошибка, но один вопрос. Если мы выбираем и даем valeus «null, null, 0,0 ....» для других столбцов, мы их вставляем или выбираем? потому что другие столбцы! = Other_columns другой таблицы –

2

Снимите VALUES (

При INSERT использовании SELECT вы не должны использовать VALUES, поскольку значения поступают из SELECT

Также префикс имен таблиц с именами баз данных, при условии, что Auth и Auth2 - это две разные базы данных.

Наконец, ваш FROM выключен.

Следующее должно работать.

INSERT Auth2.dbo.Accounts 
(
[account_id] 
, [login_name] 
, [password] 
, [referral_id] 
, [referral_code] 
, [pcbang] 
, [block] 
, [withdraw_remain_time] 
, [age] 
, [auth_ok] 
, [last_login_server_idx] 
, [event_code] 
, [server_list_mask] 
, [result] 
, [ip] 
, [game_code] 
, [gamecode] 
, [login_event] 
, [email] 
, [security_a_1] 
, [security_a_2] 
, [security_a_3] 
, [security_a_4] 
, [security_q_1] 
, [security_q_2] 
, [security_q_3] 
, [security_q_4] 
, [votepoints] 
, [cash] 
, [country] 
) 
SELECT 
account_id 
, N'Imad' 
, N'3cfbbd2ae3c3e416c6d00a5a12ee60e8' 
, NULL 
, NULL 
, 0 
, 0 
, NULL 
, -1997 
, 1 
, NULL 
, NULL 
, NULL 
, NULL 
, N'::1' 
, NULL 
, NULL 
, NULL 
, N'[email protected]' 
, NULL 
, NULL 
, NULL 
, NULL 
, NULL 
, NULL 
, NULL 
, NULL 
, 0 
, 189 
, NULL 
FROM auth.dbo.Account 

PRO TIP: Форматирования SQL правильно братан, это помогает отлаживать :).

1

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

CREATE DATABASE LINK your_db_link_name 
CONNECT TO Schema_Name 
IDENTIFIED BY <PWD> 
USING 'Your Database Name'; 

Далее вам нужно сделать запрос

INSERT [Accounts] ([account_id], [login_name], [password], [referral_id] 
     , [referral_code], [pcbang], [block], [withdraw_remain_time], [age], [ 
     auth_ok], [last_login_server_idx], [event_code], [server_list_mask], [ 
     result], [ip], [game_code], [gamecode], [login_event], [email], [ 
     security_a_1], [security_a_2], [security_a_3], [security_a_4], [ 
     security_q_1], [security_q_2], [security_q_3], [security_q_4], [ 
     votepoints], [cash], [country]) 
     VALUES (
     select ac.account_id 
     from [email protected] ac, N'Imad', N'3cfbbd2ae3c3e416c6d00a5a12ee60e8', 
     NULL, NULL, 0, 0, NULL, -1997, 1, NULL, NULL, NULL, NULL, N'::1', NULL, 
     NULL, NULL, N'[email protected]', NULL, NULL, NULL, NULL, NULL, 
     NULL, NULL, NULL, 0, 189, NULL) 

я думаю, что это поможет вам, если у вас есть любой запрос, тогда не стесняйтесь