|
|
|
||||||||||||||||||||||
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
Parceiros - CSS para Web Design - S.O.S Designers - Slackware-Brasil - Crie seu Web site - Oficina da Net |
Emular um Cursor SQL com um LoopMé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 Dentro deste artigo: + 1 manual relacionado + 1 categoria relacionada
Manuais relacionados com este artigo Dentro de Tutorial de SQL Anterior: A função datepart() em Access Categorias relacionadas Através das categorias do nosso diretório podem ser encontrados outros tipos de recursos relacionados com este artigo: + Entrar em Linguagem SQLComentários dos visitantes Os comentários dos visitantes são para ampliar a informação do artigo. Todos podem participar.
|
| Sobre nós | Copyright | Anuncie | Entrar em contato | <criarweb> |