Sim SQL Server 2008
, SQL Server Management Studio.
Preciso selecionar dados Table1
no banco de dados1. Então tenho que editar alguns valores nos resultados e insert values into Table1
no banco de dados2.
Ou deixe-me colocar de outra forma.
Como posso converter os dados de uma tabela em insert script
.
sql
sql-server
sql-server-2008
ssms
Capitão Comic
fonte
fonte
Respostas:
O SSMS Toolpack (que é GRATUITO como na cerveja) possui uma variedade de excelentes recursos - incluindo a geração de instruções INSERT a partir de tabelas.
Atualização: para SQL Server Management Studio 2012 (e mais recente), o SSMS Toolpack não é mais gratuito, mas requer uma taxa de licenciamento modesta.
fonte
Aqui está outro método, que pode ser mais fácil do que instalar plug-ins ou ferramentas externas em algumas situações:
select [whatever you need]
INTO temp.table_name
from [... etc ...]
temp.table_name
na tela "Escolher objetos" e clique em Avançar.INSERT
instruções resultantes aparecem em uma nova janela de consulta.[temp.table_name]
para[your_table_name]
.drop table [temp.table_name]
.fonte
temp
aqui se refere a qualquer esquema ao qual você tem acesso. Você pode criar um (create schema temp
) e removê-lo quando terminar, ou (melhor) simplesmente usar qualquer esquema em que esteja trabalhando no momento.Em SSMS:
Clique com o botão direito no banco de dados> Tarefas> Gerar Scripts
Próximo
Selecione "Selecionar objetos de banco de dados específicos" e marque a tabela que deseja criar em script, Avançar
Clique
Advanced >
na lista de opções, role para baixo e procure "Tipos de dados para script" e mude para "Somente dados"> OKSelecione "Salvar em uma nova janela de consulta"> Avançar> Avançar> Concluir
Todas as 180 linhas agora escritas como 180 instruções de inserção!
fonte
Método nativo :
por exemplo se você tem mesa
Você consegue fazer isso:
fonte
1- Explicação dos Scripts
A) A sintaxe para inserir dados na tabela é a seguinte
C) Para obter os dados acima da tabela existente, temos que escrever a consulta de seleção de forma que a saída seja na forma de scripts acima
D) Então, finalmente, concatenou a variável acima para criar o script final que irá gerar o script de inserção na execução
E)
F) E finalmente executei a consulta acima
EXECUTE(TEXT)
G)
QUOTENAME()
função é usada para envolver os dados da coluna dentro da citaçãoH)
ISNULL
é usado porque se alguma linha tiverNULL
dados para qualquer coluna a consulta falha e retornaNULL
é por isso que para evitar que eu useiISNULL
I) E criei o sp
sp_generate_insertscripts
para o mesmo1- Basta colocar o nome da mesa que deseja
insert script
2- Condição de filtro se você quiser resultados específicos
fonte
É possível fazer através do Visual Studio SQL Server Object Explorer.
Você pode clicar em "Exibir dados" no menu de contexto para a tabela necessária, filtrar os resultados e salvar o resultado como script.
fonte
Usando o Visual Studio, faça o seguinte
Crie um projeto do tipo SQL Server -> Projeto de Banco de Dados SQL Server
abra o sql server explorer CTL- \, CTL-S
adicione um SQL Server clicando com o botão direito do mouse no ícone SQL SERVER. Selcet ADICIONE NOVO SERVIDOR
navegue até a tabela na qual você está interessado
clique com o botão direito -> VER DADOS
Clique na célula superior esquerda para destacar tudo (ctl-A não parece funcionar)
Clique com o botão direito -> SCript
Isso é fabuloso. Eu tentei tudo listado acima ao longo dos anos. Sei que existe uma ferramenta que fará isso e muito mais, não consigo pensar no nome dela. Mas é muito caro.
Boa sorte. Eu apenas descobri isso. Não testei extensivamente com campos de texto, etc, mas parece que ele o leva a um longo caminho.
Greg
fonte
Crie uma tabela separada usando a instrução into Por exemplo
Selecione * em Test_123 de [dbo]. [Funcionário] onde Nome como '% Teste%'
Vá para o Banco de Dados Clique com o botão direito do mouse no Banco de Dados Clique em Gerar Script Selecione sua tabela Selecione a opção Advanace e selecione o Atributo "Somente Dados" Selecione o arquivo "abrir em nova consulta"
Sql irá gerar script para você
fonte
Você pode escolher a opção 'Resultado para Arquivo' no SSMS e exportar o resultado selecionado para o arquivo e fazer suas alterações no arquivo de resultado e, finalmente, usando BCP - Cópia em massa, você pode inserir na tabela 1 do banco de dados 2.
Acho que para a inserção em massa, você deve converter o arquivo .rpt em arquivo .csv
Espero que ajude.
fonte
Tive um problema semelhante, mas precisava ser capaz de criar uma instrução INSERT a partir de uma consulta (com filtros etc.)
Então criei o seguinte procedimento:
Você pode então usá-lo gravando a saída da sua consulta em uma tabela temporária e executando o procedimento:
Nota: Este procedimento apenas converte os valores em uma string, o que pode fazer com que os dados pareçam um pouco diferentes. Com DATETIME, por exemplo, os segundos serão perdidos.
fonte
Esta é uma solução mais versátil (que pode fazer um pouco mais do que a pergunta pede) e pode ser usada em uma janela de consulta sem ter que criar um novo procedimento armazenado - útil em bancos de dados de produção, por exemplo, onde você não tem acesso de gravação .
Para usar o código, modifique de acordo com os comentários em linha que explicam seu uso. Você pode então simplesmente executar esta consulta em uma janela de consulta e ela imprimirá as instruções INSERT de que você precisa.
fonte
Você pode usar pacotes de serviço de integração do Sql Server projetados especificamente para operação de importação e exportação .
O VS tem um pacote para desenvolver esses pacotes se você instalar totalmente o Sql Server.
Serviços de Integração em Business Intelligence Development Studio
fonte
Acho que também é possível com consultas ad hoc, você pode exportar o resultado para o arquivo do Excel e depois importar esse arquivo para o seu objeto de tabela de dados ou usá-lo como está e, em seguida, importar o arquivo do Excel para o segundo banco de dados, dê uma olhada neste link, isso pode te ajudar muito.
http://vscontrols.blogspot.com/2010/09/import-and-export-excel-to-sql-server.html
fonte
Eu criei o seguinte
procedure
:Então você pode usá-lo dessa forma:
A saída seria algo assim:
Se você deseja apenas obter um intervalo de linhas, use o
@top
parâmetro abaixo:fonte
Se você estiver usando o Oracle (ou configurar o aplicativo para o SQL Server), o Oracle SQL Developer faz isso para você. escolha 'descarregar' para uma tabela e siga as opções (desmarque DDL se você não quiser que toda a tabela seja criada).
fonte
Encontrei este complemento SMSMS Boost , que é gratuito e faz exatamente isso, entre outras coisas. Você pode clicar com o botão direito nos resultados e selecionar Dados do script como.
fonte
Você pode usar este Q2C.SSMSPlugin , que é gratuito e de código aberto. Você pode clicar com o botão direito e selecionar "Execute Query To Command ... -> Query To Insert ...". Aproveitar)
fonte
Você pode usar uma
INSERT INTO SELECT
instrução para inserir os resultados de uma consulta selecionada em uma tabela. http://www.w3schools.com/sql/sql_insert_into_select.aspExemplo:
fonte