sábado, 6 de novembro de 2010

Criando e Trabalhando com CURSOR

Poucos dias atrás trabalhei com cursor; resolvi então postar aqui um script rápido para você basear seus cursores caso necessário:

Se por exemplo eu quero mostrar todos os nomes contendo Marcos e seus endereços
da minha tabela chamada tabela_funcionarios; Lógicamente se eu tiver que fazer isso na vida real eu escreverei a seguinte Query:

SELECT Nome, Endereco
FROM tabela_funcionarios
WHERE Nome = 'Marcos'

Mas para mostrar como podemos criar um cursor, segue o script abaixo:

DECLARE @Nome char(10)
,@Endereco char(20)

DECLARE cursor_regs CURSOR FOR
SELECT * FROM tabela_funcionarios
FOR READ ONLY

OPEN cursor_regs

FETCH cursor_regs INTO @Nome, @Endereco

WHILE @@FETCH_STATUS = 0
BEGIN

IF @Nome = 'Marcos'
PRINT @Nome + ' ' + @Endereco
ELSE
PRINT 'Nome Comum'
FETCH cursor_regs INTO @Nome, @Endereco
END

CLOSE cursor_regs
DEALLOCATE cursor_regs


Pessoal, tomem muito cuidado quando trabalhar com cursor, atens validem se não existem formas diferentes que sejam menos custosas para o servidor. No caso do nosso exemplo a utilização do cursor foi somente para fins de demonstração, pois está totalmente fora de conceito fazer essa simples query com cursor!

Abraços.

Nenhum comentário:

Postar um comentário

Pesquisar este blog