Criar Web, manuais e recursos para desenvolvimento web
Manuais
Programas
FAQS
Diretório
Comunidade
  Inicio > Manuais > Tutorial de SQL
SEÇÕES
Manuais relacionados
+Tutorial de SQL
Categorias
+Linguagem SQL

Índice do Manual Tutorial de SQL
+ O que é SQL
+ Tipos de campos
+ Adicionar um novo registro
+ Apagar um registro
+ Atualizar um registro
+ Seleção de tabelas I
+ Seleção de tabelas II
+ Seleção de tabelas III
+ Seleção de tabelas IV
+ Aproveite seu banco de dados
+ Tabelas temporárias no Sql Server
+ Adquirindo informações do Usuário com a classe System
+ Alguns truques práticos
+ Criação de tabelas
+ SQL e Programação de Banco de Dados
+ Funções para buscas com datas em Access
+ Função em SQL para o cálculo de dias de trabalho
+ SQL com Oracle
+ SQL com Oracle. Operadores
+ Sub-consultas SQL
+ Funções SQL
+ Agrupamento e combinação de elementos com SQL
+ Manipulação de dados com SQL
+ Chaves primárias com SQL com Oracle
+ Definição de chaves para tabelas e restrições
+ Supressão e modificação de tabelas com SQL
+ Gerenciamento de vistas em SQL
+ Usuários em Oracle
+ Gerenciamento em Oracle com SQL
+ Otimizar consultas SQL
+ Consultas de seleção
+ Critérios de seleção em SQL
+ Como exibir informações com múltiplas instruções SQL
+ Critérios de seleção em SQL II
+ Consultas de ação
+ Tipos de dados SQL
+ Subconsultas em SQL
+ Consultas SQL de União Internas
+ Estruturas das tabelas em SQL
+ Cursores em SQL
+ Referências Cruzadas em SQL
+ Introdução a freetext e contains em SQL-Server
+ Acesso ao banco de dados externos
+ Consultas com parâmetros e omissão de permissões
+ Procedures e busca de registros duplicados em SQL
+ A função datepart() em Access
+ Emular um Cursor SQL com um Loop
+ Tipos de instruções SQL e seus componentes sintáticos

Descrição dos capítulos

Parceiros
- CSS para Web Design
- S.O.S Designers
- Slackware-Brasil
- Crie seu Web site
- Oficina da Net


Emular um Cursor SQL com um Loop

Método para emular o típico cursor sql com um loop em SQL Server 2000.


Graças a este truque de SQL Server 2000 você poderá emular o funcionamento de um cursor com um loop.

Para isso criaremos uma tabela temporária onde colocaremos os elementos que queremos iterar no loop para poder tratá-los.

DECLARE
@Anuncios
TABLE
(
pk_id numeric(18, 0) NOT NULL IDENTITY (1, 1),
Idtruco numeric(18,0),
IdUsuario numeric(18,0),
Alias nvarchar(255),
usuario nvarchar(255)
)

Criamos duas variáveis para poder iterar no loop
DECLARE
@Rows numeric,
@i numeric(18,0)

SET @Rows=0
SET @i=1

Inserimos os dados na tabela temporária @anuncios

INSERT INTO
@Anuncios
(
Idtruque,
IdUsuario,
Alias,
Usuario
)
SELECT
a.ARTID,
a.ARTUSR,
p.Alias,
p.LonUsr
FROM
TABELA_ANUNCIOS a
INNER JOIN
TABELA_USUARIOS p
ON a.ARTUSR=p.LONID

Atribuímos à variável contadora de filas totais o total da tabela @anuncios

Set @Rows=(SELECT TOP 1 PK_ID FROM @Anuncios order BY PK_ID DESC)

Iteramos com o while. Desta maneira podemos emular o funcionamento de um cursor sem ser um cursor, podendo executá-lo as vezes que quisermos de uma só vez.

WHILE @i <;= @Rows
BEGIN
Declare
@Idtruco numeric(18,0),
@IdUsuario numeric(18,0),
@Alias nvarchar(255),
@Usuario nvarchar(255)

SELECT
@Idtruque=Idtruque,
@IdUsuario=IdUsuario,
@Alias=Alias,
@Usuario=Usuario
FROM
@Anuncios
WHERE
pk_id=@i

Realizar todas as ações!

SET @i=@i + 1
END

Autoria e outras referências sobre este artigo

Manuais relacionados com este artigo
Dentro de Tutorial de SQL

Categorias relacionadas
Através das categorias do nosso diretório podem ser encontrados outros tipos de recursos relacionados com este artigo:
+ Entrar em Linguagem SQL


Comentários dos visitantes
Os comentários dos visitantes são para ampliar a informação do artigo. Todos podem participar.
Acrescentar um comentário do artigo Acrescentar um comentário do artigo



Sobre nós | Copyright | Anuncie | Entrar em contato <criarweb>

Hospedado por Hostnet Hospedagem de Sites