SELECT INSERT


por Mauricio Junior em 1/1/2011 0

Olá pessoal, meu nome é Mauricio Junior e estou com vocês há algum tempo desenvolvendo artigos e vídeos. Espero que possa ajudar a todos porque esse é o meu objetivo. Divulgar mais e mais essa grande tecnologia que é .NET, principalmente com essa nova IDE desenvolvida pela Microsoft.

 

Para pegar essa ferramenta grátis, basta acessar o endereço abaixo:

http://msdn.microsoft.com/vstudio/express/

 

Hoje desenvolverei um artigo para SQL SERVER cujo poderei ajudar muito em desenvolver uma funcionalidade dentro de uma STORED PROCEDURE.

O princípio desse artigo é o seguinte: Tenho duas tabelas no banco de dados cujo preciso pegar os valores de acordo com condição e inseri-los dentro da segunda tabela do banco com os valores selecionados mais os outros que foram passados.

 

Tabela 1

Descrição dos campos

 

 

 

Tabela 2

Descrição dos campos

 

 

 

 

Na primeira tabela, possuo alguns dados cujo preenchi na mão mesmo. É bem simples o artigo e útil. Segue os dados preenchidos abaixo:

 

 

 

 

Nesse próximo passo, montarei uma stored procedure para buscar os dados e inserir na mesma hora na tabela 2. Para provar que ainda não existe dados na tabela 2, segue a ilustração.

 

 

 

 

Cliquei com o botão direito em cima de STORED PROCEDURES e escolhi a opção New Stored Procedure.. Com isso a IDE SQL Entreprise Manager mostra uma outra tela para ser preenchida. Gosto de lembrar que o mesmo pode ser feito por comandos SQL normalmente ou STORED PROCEDURE. Este artigo é mais um conceito para melhorar a forma de pegar os dados e inseri-los tão rapidamente que todos irão ficar espantados.

 

Antes de começar a desenvolver recomendo algumas dicas em relação a SP:

- Não coloque uma stored procedure iniciando com o nome SP, porque o banco de dados faz uma varredura em todas as SPs dentro do sistema. Com isso fica lento na hora de ler, mas essa lentidão para poucas SPs não pode ser visto a olho nu;

- Sempre comentar as SPs dizendo o nome do criador, de quem alterou, data e o que a mesma faz, documentar é uma boa prática;

- Evite chamar SPs dentro de SPs, faça funções que funcionará melhor.

 

Segue o código do INSERT SELECT:

 

 

CREATE PROCEDURE PROC_SELECTINSERT

 

            @CH_TB1                 AS INT,

            @DESCRICAO         AS NVARCHAR(50)

 

AS

 

 

            INSERT INTO

                        TB2

                        (CH_TB1, VALOR_TB2, NOME_TB2, DT_TB2, DESCRICAO_TB2)

                        (SELECT

                                   CH_TB1,VALOR_TB1, NOME_TB1, DT_TB1,  @DESCRICAO

                        FROM

                                   TB1

                        WHERE

                                    CH_TB1 = @CH_TB1)

 

GO

 

Explicação:

 

Note que o os parâmetros de entrada são do tipo INT e NVARCHAR. É uma chave e uma descrição para inserir na tabela TB2. O insert vem primeiro com os campos, o select vem logo após os campos, porém seguindo a ordem dos mesmos campos do insert.

Essa ordem é apenas de tipo e de valores que irão ser inseridos no banco de dados, por exemplo:

Chave com Chave, Data com Data, Descrição com Descrição.

O campos @Descricao significa que o mesmo será passado pelo sistema. Dentro da condição WHERE é passada pelo sistema @CH_TB1 para dentro da STORED PROCEDURE.

 

Depois de criada, executei a mesma dentro do SQL QUERY ANALYZER.

 

 

 

 

O mesmo foi inserido automaticamente com os valores passados corretamente.

 

Segue o select das duas tabelas e compare os dados:

 

 

 

Espero ter ajudado em mais um artigo.

Abraços.

 

 

 

 

Mauricio Junior

Community: www.aspneti.com

 

voltar   comente  subir

 
Mauricio Junior Formado pela Faculdade Anhanguera, Especialista pela FGV (Fundação Getúlio Vargas), Pós-Graduação em Docência Superior e cursando Mestrado na UNB Engenharia Elétrica; .
Tenho 29 anos e possuo sete livros publicados pela editora Ciência Moderna. Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.COM, ECODE10.COM, onde publico artigos, vídeos, ebooks e livros Publico artigos, vídeos e podcast em outras comunidades. Trabalho como Analista de Sistemas / Desenvolvedor na empresa ATP S/A. Blog: blog.mauriciojunior.org, Site pessoal www.mauriciojunior.org



Comentários:
Comentado por: Manoel Pedro Jr - 15/8/2011 0:00:00
Maurício as imagens do post estão com link quebrado.
Comentado por: Mauricio Junior - 7/9/2011 0:00:00
Manoel, já estão aparecendo as imagens.
Comentado por: Manoel Pedro Jr - 7/9/2011 0:00:00
Obrigado Mauricio agora está perfeito.

Comente (dê sua opinião):
Comentário:
Código Imagem:  (digite o código da imagem respeitando maiúsculo e minúsculo)

Favor digitar o código da imagem para cadastramento.

 

Outros Artigos do Autor

Visual Studio 11 – Novas funcionalidades e melhorias parte 2
Orientação a Objetos com Visual Studio.NET (parte 2)
Trabalhando com ENUM
Visual Studio 11 - Melhoria no estilo CSS
O futuro da tecnologia com a Microsoft
Método SHA1
Visual Studio 11 – Melhorias e inovações parte 5
II Encontro - Um Sucesso!!! (em Brasília)
Detectando ENTER
WebServices - Desenvolvimento Parte 2
O segredo de utilizar ModalPopupExtender
Ophone The Microsoft - Vídeo
Ebook Grátis Microsoft
Sort no GridView sem ir ao banco de dados novamente
Focus()
Aplicativo iCantada Free
Apresentação do Windows
Vídeo Sobre Atributes e String Builder com Visual Studio .NET 2005
URL Routing com o Visual Studio .NET 2010
Registro Encontro .NET (Fotos)
Artigo Criando RSS Xml para o Seu Próprio Site
GridView - Valor total no footer
Usando Tooltip
Novo iGas 2.0 Mobile
Microsoft HomeOS
Vídeo - Tecla de Atalho
ASP.NET 4.0 and Visual Studio 2010 Web Development Beta 2 Overview
Aspirador de pó inteligente
Montando estrutura de um site MVC 2 com Visual Studio .NET 2010
Customizar Setup Layout
XAML Power Toys
Criptografando URL
ListBox componente básico
GridView Parte III
Criando XML a partir do DataSet Tipado com Visual Studio.NET 2005 – Parte I