Ir para conteúdo
Fórum Script Brasil

Isaa

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Sobre Isaa

Últimos Visitantes

509 visualizações

Isaa's Achievements

0

Reputação

  1. Isaa

    Execução muuito lenta

    Ola boa tarde. Eu sou meio crua em programação e calhou que eu estou tendo que fazer algumas macros para o meu projeto atual. Entre googles, livros e etc até que to me virando bem. Estou com um problema que não consigo resolver de jeito nenhum e gostaria muito de uma ajuda... = ) Eu precisava pegar os valores de uma aba e copiar para a primeira linha vazia de outra aba. Eu consegui fazer dentro de um for que funcionou lindamente. Quando fui jogar para uma outra necessidade muito parecida, ele fica muito lento. Deve ter uma forma de fazer o q eu to fazendo mais rapido. Enfim, segue o codigo. Quando eu digo lento, é realmente lento, tipo uns dois minutos pra rodar esse for... Eu fui executando linha por linha e a demora ocorre nas linhas que eu pus em negrito Por favor, me ajudem!
  2. Isaa

    cursor aninhado

    Boa tarde... eu não uma especialista em sql, mas to tentando... eu preciso fazer uma proc que liste as tabelas que tenham coluna de estado em tabelas criadas pelo usuario, para depois varre-las e deletar o registro que eu preciso... o primeiro cursor que lista essas tabelas está funcionando... mas o que deveria fazer a varredura em cada tabela para deletar os registros não funciona por um problema que aparentemente deveria ser simples... ele fala que a variavel @tab não foi declarada (Must declare the table variable "@tab".). Tentei fazer varios testes com ela separada em outra procedure, e sempre aparece a mesma coisa... Tentei declarar por paramentro da procedure... tentei declarar uma variavel comum... acho que tentei de tudo!!!! se puderem me ajudar, eu agradeceria muito... já olhei trezentos sites de cursor aninhado e em todos os exemplos eles conseguem fazer o select usando a variavel que voltou do primeiro fetch... segue o codigo: alter procedure del_est (@est varchar(3)) as begin declare @tab varchar(15), @col_name varchar (15) set @tab = '' set @col_name = '' declare del_esta cursor for (select sys.name, col.name from sysobjects sys, syscolumns col where sys.xtype='u' and col.id = sys.id and col.name like '%est%') open del_esta fetch next from del_esta into @tab, @col_name WHILE @@FETCH_STATUS = 0 BEGIN declare del_esta_tab cursor for (select * from @tab) open del_esta_tab fetch next from del_esta_tab while @@fetch_status = 0 begin delete from @tab where @col_name = @est end --while do del_esta_tab CLOSE del_esta_tab DEALLOCATE del_esta_tab END -- while do del_esta CLOSE del_esta DEALLOCATE del_esta end--proc
×
×
  • Criar Novo...