Rhicky Postado 19 de Junho de 2007 Tópicos Que Criei: 120 Tópicos/Dia: 0.02 Meu Conteúdo: 400 Conteúdo/Dia: 0.06 Reputação: 0 Pontos/Conquistas: 3.200 Conteúdo Resolvido: 0 Dias Ganho: 0 Status: Offline Idade: 44 Denunciar Compartilhar Postado 19 de Junho de 2007 Pessoal, Estou tentando atualizar a tabela PEVENTO, via SQL no Banco de Dados e não estou conseguindo. A instrução que estou utilizando é: UPDATE PEVENTO SET SUBSTRING(INCACUMULADOR,13,1) = '*' WHERE SUBSTRING(INCACUMULADOR,13,1) = '' O que poder ser ? Alguém pode ajudar ? Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Jorge Postado 19 de Junho de 2007 Tópicos Que Criei: 51 Tópicos/Dia: 0.01 Meu Conteúdo: 1.005 Conteúdo/Dia: 0.16 Reputação: 12 Pontos/Conquistas: 5.527 Conteúdo Resolvido: 0 Dias Ganho: 8 Status: Offline Idade: 51 Denunciar Compartilhar Postado 19 de Junho de 2007 Ricky, Acredito que deva ser: UPDATE PEVENTO SET INCACUMULADOR) = ' *' WHERE SUBSTRING(INCACUMULADOR,13,1) = '' Faça os testes... OBS: Não testei... Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Jair - Fórmula Postado 19 de Junho de 2007 Tópicos Que Criei: 900 Tópicos/Dia: 0.14 Meu Conteúdo: 8.845 Conteúdo/Dia: 1.34 Reputação: 310 Pontos/Conquistas: 106.599 Conteúdo Resolvido: 0 Dias Ganho: 195 Status: Offline Idade: 52 Dispositivo: Windows Denunciar Compartilhar Postado 19 de Junho de 2007 Ricky,Acredito que deva ser: UPDATE PEVENTO SET INCACUMULADOR) = ' *' WHERE SUBSTRING(INCACUMULADOR,13,1) = '' Faça os testes... OBS: Não testei... Não... não é isso não. Se vc deseja mudar apenas a posição 13, deverá manter o que tem nas demais, antes e depois... Seria isso aqui: UPDATE PEVENTO SET INCACUMULADOR = SUBSTRING(INCACUMULADOR,1,12) + '*' + SUBSTRING(INCACUMULADOR,14,Len(INCACUMULADOR-13)) WHERE SUBSTRING(INCACUMULADOR,13,1) = '' or SUBSTRING(INCACUMULADOR,13,1) = ' ' and CODCOLIGADA = '1' -- não esquecer de testar a coligada também... O comando do Jorge acima, faz com que, perca-se o que está já setado até a posição 13... Creio que ele esqueceu deste detalhe. Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Jorge Postado 19 de Junho de 2007 Tópicos Que Criei: 51 Tópicos/Dia: 0.01 Meu Conteúdo: 1.005 Conteúdo/Dia: 0.16 Reputação: 12 Pontos/Conquistas: 5.527 Conteúdo Resolvido: 0 Dias Ganho: 8 Status: Offline Idade: 51 Denunciar Compartilhar Postado 19 de Junho de 2007 Bem Lembrado .... Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Antonio Lins Postado 19 de Junho de 2007 Tópicos Que Criei: 25 Tópicos/Dia: 0.00 Meu Conteúdo: 310 Conteúdo/Dia: 0.05 Reputação: 1 Pontos/Conquistas: 1.796 Conteúdo Resolvido: 0 Dias Ganho: 1 Status: Offline Idade: 49 Denunciar Compartilhar Postado 19 de Junho de 2007 Não... não é isso não. Se vc deseja mudar apenas a posição 13, deverá manter o que tem nas demais, antes e depois... Seria isso aqui: UPDATE PEVENTO SET INCACUMULADOR = SUBSTRING(INCACUMULADOR,1,12) + '*' + SUBSTRING(INCACUMULADOR,14,Len(INCACUMULADOR-13)) WHERE SUBSTRING(INCACUMULADOR,13,1) = '' or SUBSTRING(INCACUMULADOR,13,1) = ' ' and CODCOLIGADA = '1' -- não esquecer de testar a coligada também... O comando do Jorge acima, faz com que, perca-se o que está já setado até a posição 13... Creio que ele esqueceu deste detalhe. Isso mesmo Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Rhicky Postado 19 de Junho de 2007 Tópicos Que Criei: 120 Tópicos/Dia: 0.02 Meu Conteúdo: 400 Conteúdo/Dia: 0.06 Reputação: 0 Pontos/Conquistas: 3.200 Conteúdo Resolvido: 0 Dias Ganho: 0 Status: Offline Idade: 44 Autor Denunciar Compartilhar Postado 19 de Junho de 2007 Não... não é isso não. Se vc deseja mudar apenas a posição 13, deverá manter o que tem nas demais, antes e depois... Seria isso aqui: UPDATE PEVENTO SET INCACUMULADOR = SUBSTRING(INCACUMULADOR,1,12) + '*' + SUBSTRING(INCACUMULADOR,14,Len(INCACUMULADOR-13)) WHERE SUBSTRING(INCACUMULADOR,13,1) = '' or SUBSTRING(INCACUMULADOR,13,1) = ' ' and CODCOLIGADA = '1' -- não esquecer de testar a coligada também... O comando do Jorge acima, faz com que, perca-se o que está já setado até a posição 13... Creio que ele esqueceu deste detalhe. Jair, Tentei executar a instrução confome você descreveu, porém deu o seguinte retorno: Msg 245, Level 16, State 1, Line 1 Conversion failed when converting the varchar value ' * ** ** *' to data type int. Será que falta alguma coisa ? Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Mauricio J. T. Postado 19 de Junho de 2007 Tópicos Que Criei: 134 Tópicos/Dia: 0.02 Meu Conteúdo: 1.225 Conteúdo/Dia: 0.19 Reputação: 2 Pontos/Conquistas: 7.400 Conteúdo Resolvido: 0 Dias Ganho: 1 Status: Offline Dispositivo: Windows Denunciar Compartilhar Postado 19 de Junho de 2007 Ja cadastrou na tabela dinamica ? Se quando for branco e para colocar '*' ,entao nao nem precisa do Where, ja coloca '*' em todos. (Da posição 13, é claro.) Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Jair - Fórmula Postado 19 de Junho de 2007 Tópicos Que Criei: 900 Tópicos/Dia: 0.14 Meu Conteúdo: 8.845 Conteúdo/Dia: 1.34 Reputação: 310 Pontos/Conquistas: 106.599 Conteúdo Resolvido: 0 Dias Ganho: 195 Status: Offline Idade: 52 Dispositivo: Windows Denunciar Compartilhar Postado 19 de Junho de 2007 UPDATE PEVENTO SET INCACUMULADOR = SUBSTRING(INCACUMULADOR,1,12) + '*' + SUBSTRING(INCACUMULADOR,14,Len(INCACUMULADOR)-13) WHERE SUBSTRING(INCACUMULADOR,13,1) = '' or SUBSTRING(INCACUMULADOR,13,1) = ' ' and CODCOLIGADA = '1' -- não esquecer de testar a coligada também... Errei os parentesis de lugar... Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Jair - Fórmula Postado 19 de Junho de 2007 Tópicos Que Criei: 900 Tópicos/Dia: 0.14 Meu Conteúdo: 8.845 Conteúdo/Dia: 1.34 Reputação: 310 Pontos/Conquistas: 106.599 Conteúdo Resolvido: 0 Dias Ganho: 195 Status: Offline Idade: 52 Dispositivo: Windows Denunciar Compartilhar Postado 19 de Junho de 2007 Rhicky, esse campo INCACUMULADOR na verdade tem 32 posições, acabei de olhar na tabela. Acho que é melhor fixar isso e não usar o LEN como falei no comando acima... então, ficaria assim: UPDATE PEVENTO SET INCACUMULADOR = SUBSTRING(INCACUMULADOR,1,12) + '*' + SUBSTRING(INCACUMULADOR,14,18) WHERE SUBSTRING(INCACUMULADOR,13,1) = '' or SUBSTRING(INCACUMULADOR,13,1) = ' ' Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Rhicky Postado 20 de Junho de 2007 Tópicos Que Criei: 120 Tópicos/Dia: 0.02 Meu Conteúdo: 400 Conteúdo/Dia: 0.06 Reputação: 0 Pontos/Conquistas: 3.200 Conteúdo Resolvido: 0 Dias Ganho: 0 Status: Offline Idade: 44 Autor Denunciar Compartilhar Postado 20 de Junho de 2007 Rhicky, esse campo INCACUMULADOR na verdade tem 32 posições, acabei de olhar na tabela. Acho que é melhor fixar isso e não usar o LEN como falei no comando acima... então, ficaria assim: UPDATE PEVENTO SET INCACUMULADOR = SUBSTRING(INCACUMULADOR,1,12) + '*' + SUBSTRING(INCACUMULADOR,14,18) WHERE SUBSTRING(INCACUMULADOR,13,1) = '' or SUBSTRING(INCACUMULADOR,13,1) = ' ' Jair, Agradeço muito sua atenção para esse meu problema, mas a instrução enviada não está funcionando corretamente. O que eu quero é que ela verifique se o acumulador 13 - PIS está desmarcado e se estiver que ele marque o acumulador. Porém, o que está ocorrendo é que a instrução está marcando apenas os eventos que já possuem algum acumulador marcado e os que não tem nenhum acumulador marcado ela não procede a marcação. Será que tem como corrigir isso ? Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Mauricio J. T. Postado 20 de Junho de 2007 Tópicos Que Criei: 134 Tópicos/Dia: 0.02 Meu Conteúdo: 1.225 Conteúdo/Dia: 0.19 Reputação: 2 Pontos/Conquistas: 7.400 Conteúdo Resolvido: 0 Dias Ganho: 1 Status: Offline Dispositivo: Windows Denunciar Compartilhar Postado 20 de Junho de 2007 Se tivesse marcado esses eventos manualmente, essa questao ja nao estaria resolvida faz tempo ? O que incide pis sao proventos, geralmente incidem inss tambem.... Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Jair - Fórmula Postado 20 de Junho de 2007 Tópicos Que Criei: 900 Tópicos/Dia: 0.14 Meu Conteúdo: 8.845 Conteúdo/Dia: 1.34 Reputação: 310 Pontos/Conquistas: 106.599 Conteúdo Resolvido: 0 Dias Ganho: 195 Status: Offline Idade: 52 Dispositivo: Windows Denunciar Compartilhar Postado 20 de Junho de 2007 Acrescente no Where... or SUBSTRING(INCACUMULADOR,13,1) is null or INCACUMULADOR is null Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Jair - Fórmula Postado 21 de Junho de 2007 Tópicos Que Criei: 900 Tópicos/Dia: 0.14 Meu Conteúdo: 8.845 Conteúdo/Dia: 1.34 Reputação: 310 Pontos/Conquistas: 106.599 Conteúdo Resolvido: 0 Dias Ganho: 195 Status: Offline Idade: 52 Dispositivo: Windows Denunciar Compartilhar Postado 21 de Junho de 2007 E ai, resolveu ? Finalizou isso ? Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Rhicky Postado 22 de Junho de 2007 Tópicos Que Criei: 120 Tópicos/Dia: 0.02 Meu Conteúdo: 400 Conteúdo/Dia: 0.06 Reputação: 0 Pontos/Conquistas: 3.200 Conteúdo Resolvido: 0 Dias Ganho: 0 Status: Offline Idade: 44 Autor Denunciar Compartilhar Postado 22 de Junho de 2007 Resolver, não resolveu não... mas pode fechar a discussão. Vou alterar manulamente mesmo. Obrigado. Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Jair - Fórmula Postado 22 de Junho de 2007 Tópicos Que Criei: 900 Tópicos/Dia: 0.14 Meu Conteúdo: 8.845 Conteúdo/Dia: 1.34 Reputação: 310 Pontos/Conquistas: 106.599 Conteúdo Resolvido: 0 Dias Ganho: 195 Status: Offline Idade: 52 Dispositivo: Windows Denunciar Compartilhar Postado 22 de Junho de 2007 Esquisito... não funcionou o que passei ao final ? Bom, de qualquer forma estou fechando, mas era pra funcionar de repente com a ultima coisa que te falei. Tópico Resolvido. O mesmo foi marcado como resolvido por não haver mais nada a resolver. Qualquer coisa, alguma dúvida ou questionamento sobre o assunto, pode postar novamente que analisaremos, ou se preferir, favor entrar em contato com a administração ou moderação, através do link: Administradores e Moderadores Se preferir, mande um email para admin@forumrm.com.br Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Mauricio J. T. Postado 22 de Junho de 2007 Tópicos Que Criei: 134 Tópicos/Dia: 0.02 Meu Conteúdo: 1.225 Conteúdo/Dia: 0.19 Reputação: 2 Pontos/Conquistas: 7.400 Conteúdo Resolvido: 0 Dias Ganho: 1 Status: Offline Dispositivo: Windows Denunciar Compartilhar Postado 22 de Junho de 2007 Foi que falei. Se fizesse manualmente (O usuario que tem que fazer) ja estaria resolvido faz tempo. Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Posts Recomendados
Participe da conversa
Você pode postar agora, e se registrar mais tarde. Se você tiver uma conta, faça o login agora para postar com sua conta.