Arquivo

Archive for the ‘Mentes Brilhantes’ Category

Série Mentes Brilhantes – Parte 10

18 de maio de 2010 1 comentário

O que fazer quando você deseja apagar registro somente se ele existir na tabela?

 

Verifique se ele existe antes de apagar

IFEXISTS(SELECT 1 FROM Clientes WHERE ID_Cliente = @ID)

BEGIN

  DELETEFROM Clientes WHERE ID_Cliente = @ID

END

Série Mentes Brilhantes – Parte 9

17 de maio de 2010 1 comentário

O que fazer quando você odeia like?

 

Não use o like, crie sus próprios meios para filtrar os dados

SELECT*FROM Pedido

WHERESubString(Vendedor,1,2)=‘Fa’

Série Mentes Brilhantes – Parte 8

13 de maio de 2010 1 comentário

O que fazer quando você odeia fazer joins?

 

Crie SubQuerys para retornar os dados das colunas.

SELECT ID_Pedido,

       Valor,

      (SELECT Nome     FROM Clientes WHERE Clientes.ID_Cliente = Pedidos.ID_Cliente)AS NomeCliente,

      (SELECT Endereco FROM Clientes WHERE Clientes.ID_Cliente = Pedidos.ID_Cliente)AS EnderecoCliente,

      (SELECT Bairro   FROM Clientes WHERE Clientes.ID_Cliente = Pedidos.ID_Cliente)AS BairroCliente,

      (SELECT Cidade   FROM Clientes WHERE Clientes.ID_Cliente = Pedidos.ID_Cliente)AS CidadeCliente

FROM Pedidos

WHERE ID_Cliente = 10

Série Mentes Brilhantes – Parte 7

12 de maio de 2010 3 comentários

O que fazer quando você quer atribuir um valor para uma variável mas somente se o valor existir na tabela?

Simples, verifique se o valor existe na tabela antes de atribui-lo.

IF EXISTS(SELECT 1

            FROM Tab1

           WHERE Col1 = @Col1

             AND Col2 = ‘FR’)

BEGIN

  SELECT @Col3 = Col3

    FROM Tab1

   WHERE Col1 = @Col1

     AND Col2 = ‘FR’;

END

 

IF EXISTS(SELECT 1

            FROM Tab1

           WHERE Col1 = @Col1

             AND Col2 = ‘TA’)

BEGIN

  SELECT @Col3 = Col3

    FROM Tab1

WHERE Col1 = @Col1

     AND Col2 = ‘TA’;

END

 

Ps: Sabe aonde eu já vi isso? No script da procedure sp_who2. Que beleza!

Série Mentes Brilhantes – Parte 6

11 de maio de 2010 3 comentários

O que fazer quando você precisa que o SQL retorne os dados, mas você não quer esperar muito tempo para que ele leia as informações?

 

Use um hint para retornar as primeiras 5 milhões de linhas FAST, ou seja, rápido.

SELECT * FROM Pedidos

OPTION(FAST 5000000)

Série Mentes Brilhantes – Parte 5

11 de maio de 2010 1 comentário

O que fazer quando você gosta muito de fazer Updates?

Crie um Update para cada campo que será atualizado

UPDATE Clientes SET Nome = @NovoNome

WHERE ID_Cliente = @ID

 

UPDATE Clientes SET Sobrenome = @NovoSobrenome

WHERE ID_Cliente = @ID

 

UPDATE Clientes SET Endereco = @NovoEndereco

WHERE ID_Cliente = @ID 

UPDATE Clientes SET Bairro = @NovoBairro

WHERE ID_Cliente = @ID

 

UPDATE Clientes SET CEP = @NovoCEP

WHERE ID_Cliente = @ID

Série Mentes Brilhantes – Parte 4

10 de maio de 2010 3 comentários

O que fazer quando você gosta muito de uma tabela?

 

Sempre faça joins com ela, mesmo quando você não precisa dos dados.

SELECT Pedido.Codigo_Pedido

  FROM Pedido

INNER JOIN Clientes

    ON Pedido.ID_Cliente = Clientes.ID_Cliente