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.
This channel treats daily routine for MS SQL DBA's and also keeps thousands of articles in track. Feel free to share, comment, criticize and so on!
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário