You are here

[Tutorial] Controlando o numero de rows afetadas por uma consulta

Tweet me!

Tutorial demonstrando como controlar o numero de linhas afetadas em uma query. 

Nível - Fácil

 

Irei demonstrar nesse tutorial como controlarmos o numero de linhas que serão afetadas por uma consulta no Baco de dados SQL Server 2005, poderíamos usar isso quando precisarmos mostrar somente um numero X de registros, isso nos da um aumento de desempenho em nossas aplicações, principalmente se for uma aplicação WEB.

Para isso o banco SqlServer nos da um comando chamado “TOP” no qual retorna somente o TOP x dados de uma tabela.

No exemplo seguinte iremos retornar somente os 30 primeiros registros da tabela de clientes.

 

SELECT TOP 30 * FROM CLIENTES

 

Essa foi uma maneira fixa de retornarmos somente os 30 primeiros registros da tabela clientes, podemos passar esse numero de registros atravez de um parametro como veremos no exemplo a seguir:

 

DECLARE @QTD INT

SET @QTD = 30

SELECT TOP(@QDT) * FROM CLIENTES

 

Declaramos uma variavel chamada “@QTD” do tipo “Int” que recebe 30, e então efetuamos o “SELECT TOP” passando a variável “@QTD” como parâmetro para a query.

O uso desse comando “TOP” não se limita apenas a fazer um SELECT, como também podemos usar para realizar Atualizações, Inserções e Exclusões em nossas tabelas.

Abaixo teremos os exemplos de como usar esse comando em outras operações:

 

-- ATUALIZANDO REGISTROS

DECLARE @QTD INT

SET @QTD = 30;

UPDATE TOP(@QTD) CLIENTES SET STATUS = 'I' WHERE IDADE < 18;

 

-- DELETANDO REGISTROS

DECLARE @QTD INT

SET @QTD = 30

DELETE TOP(@QTD) CLIENTES WHERE IDADE < 18;

 

-- INSERINDO REGISTROS

DECLARE @QTD INT

SET @QTD = 30

INSERT TOP(@QTD) CLIENTES2

SELECT * FROM CLIENTE

 

Espero que tenham gostado, caso tenham alguma dúvida foi criado um POST em nosso fórum para postagem na qual estaremos respondendo.

 

Então até mais!

 

Thiago Silva Santos

Microsoft Student Partner

Comentários
Adicionar novo Busca RSS
Escrever um comentário
Nome:
E-mail:
 
Website:
Título:
UBBCode:
[b] [i] [u] [url] [quote] [code] [img] 
 
 
:angry::0
:confused::cheer:
B):evil:
:silly::dry:
:lol::kiss:
:D:pinch:
:(:shock:
:X:side:
:):P
:unsure::woohoo:
:huh::whistle:
;):s
:!::?:
:idea::arrow:
 
Por favor coloque o código anti-spam que você lê na imagem.

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."