Mauro André Postado 18 de Dezembro de 2007 Tópicos Que Criei: 65 Tópicos/Dia: 0.01 Meu Conteúdo: 333 Conteúdo/Dia: 0.05 Reputação: 2 Pontos/Conquistas: 2.309 Conteúdo Resolvido: 0 Dias Ganho: 2 Status: Offline Idade: 46 Dispositivo: Windows Denunciar Compartilhar Postado 18 de Dezembro de 2007 Como a maioria ja saber não sou um perito em SQL, por isso solicito a juda para criar uma tabela temporaria para armazenar os seguintes campos, tmov.DataCriacao, tmov.Valorbruto (Vendas), tmov.Valoroutros (IPI), tmov.ValorBruto (Devoluções) e tmov.ValorOutros (IPI s/ Devoluções). A rotina para pegar estas informações eu ja fiz só não sei como criar esta tabela temporaria e como passar por parametro o parametros @Mes 2 @Ano via gerador de Relatórios para a Procedure. Grato. Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Sebastião Souza Junior Postado 18 de Dezembro de 2007 Tópicos Que Criei: 284 Tópicos/Dia: 0.04 Meu Conteúdo: 2.111 Conteúdo/Dia: 0.32 Reputação: 10 Pontos/Conquistas: 13.337 Conteúdo Resolvido: 0 Dias Ganho: 9 Status: Offline Idade: 45 Denunciar Compartilhar Postado 18 de Dezembro de 2007 Tem um exemplo no help que pode te ajudar Exemplo: CREATE PROCEDURE TESTE AS IF EXISTS (SELECT * FROM SYSOBJECTS WHERE NAME='ZEXEMPLO') BEGIN DROP TABLE ZEXEMPLO END SET NOCOUNT ON CREATE TABLE ZEXEMPLO (CODCOLIGADA SMALLINT NOT NULL, CODSECAO VARCHAR(20), CHAPA VARCHAR(10)) INSERT INTO ZEXEMPLO SELECT PFUNC.CODCOLIGADA,PFUNC.CODSECAO,PFUNC.CHAPA FROM PFUNC ORDER BY 1 Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Mauro André Postado 18 de Dezembro de 2007 Tópicos Que Criei: 65 Tópicos/Dia: 0.01 Meu Conteúdo: 333 Conteúdo/Dia: 0.05 Reputação: 2 Pontos/Conquistas: 2.309 Conteúdo Resolvido: 0 Dias Ganho: 2 Status: Offline Idade: 46 Dispositivo: Windows Autor Denunciar Compartilhar Postado 18 de Dezembro de 2007 Sebastião Obrigado pela ajuda. abraços. Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Emanuel Peixoto Postado 18 de Dezembro de 2007 Tópicos Que Criei: 1 Tópicos/Dia: 0.00 Meu Conteúdo: 152 Conteúdo/Dia: 0.02 Reputação: 0 Pontos/Conquistas: 770 Conteúdo Resolvido: 0 Dias Ganho: 0 Status: Offline Idade: 44 Denunciar Compartilhar Postado 18 de Dezembro de 2007 Completando a informação: Para criar uma tabela temporária utilize "#" antes do nome do objeto, isso fará com que o objeto seja criado diretamente no tempdb, e descartado após a trasação. Caso vs crie uma tabela com função de armazenamento temporário sem ser no tempdb, no momento em que vc excluir essa tabela, vc vai criando espaços não alocados no teu database, sendo necessário depois a utilização do shirnk. Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Sebastião Souza Junior Postado 18 de Dezembro de 2007 Tópicos Que Criei: 284 Tópicos/Dia: 0.04 Meu Conteúdo: 2.111 Conteúdo/Dia: 0.32 Reputação: 10 Pontos/Conquistas: 13.337 Conteúdo Resolvido: 0 Dias Ganho: 9 Status: Offline Idade: 45 Denunciar Compartilhar Postado 18 de Dezembro de 2007 Esse é o Emanuel, valeu de novo cara! Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Jair - Fórmula Postado 18 de Dezembro de 2007 Tópicos Que Criei: 885 Tópicos/Dia: 0.13 Meu Conteúdo: 8.802 Conteúdo/Dia: 1.34 Reputação: 291 Pontos/Conquistas: 106.268 Conteúdo Resolvido: 0 Dias Ganho: 186 Status: Offline Idade: 51 Dispositivo: Windows Denunciar Compartilhar Postado 18 de Dezembro de 2007 Só acrescentando mais um detalhe. Quando é criada uma tabela temporária, se criado como no 1o. exemplo ( INSERT INTO ZEXEMPLO ) ela não é exatamente uma tabela temporária. É uma tabela fixa, e observe que, sempre ao início da procedure ela é apagada. Isso mesmo, ela deixa lá os dados, até a próxima vez que for rodada, podendo ser consultados no banco os dados... Se for criada usando o # à frente do seu nome, é uma tabela realmente temporária, sendo excluída automaticamente pelo banco de dados após o final da transação que a montou e utilizou. Essa tabela, mesmo que fique por um certo tempo sem fechar a transação, não é visível pra qualquer outro usuário do banco de dados, em qualquer outra transação. É uma tabela temporária, exclusiva desta transação aberta. Se for utilizado ## ( dois joguinhos da velha ) esta tabela é temporária, mas é vista pelos demais usuários do banco em outras transações. Não é tão usual, mas pode lhes ser útil em alguma situação específica. É praticamente igual ao processo acima, sendo excluída ao final da transação que a criou, mas, enquanto ela estiver ativa, outros usuários podem vê-la, e podem trabalhar em conjunto com ela. É isso ai... Abraços. Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Fábio Maia Postado 19 de Dezembro de 2007 Tópicos Que Criei: 32 Tópicos/Dia: 0.00 Meu Conteúdo: 565 Conteúdo/Dia: 0.09 Reputação: 10 Pontos/Conquistas: 3.159 Conteúdo Resolvido: 0 Dias Ganho: 5 Status: Offline Idade: 43 Denunciar Compartilhar Postado 19 de Dezembro de 2007 Jair, ótima dica. Essa eu não sabia. Abraço! Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
vandersonbritodutra Postado 24 de Março de 2020 Tópicos Que Criei: 7 Tópicos/Dia: 0.00 Meu Conteúdo: 76 Conteúdo/Dia: 0.03 Reputação: 10 Pontos/Conquistas: 471 Conteúdo Resolvido: 0 Dias Ganho: 6 Status: Offline Idade: 35 Dispositivo: Linux Denunciar Compartilhar Postado 24 de Março de 2020 Pessoal realmente há como criar uma consulta com a tabela temporaria? To criando um consulta no RM e está dando "Sentença SQL não é um comando de seleção (SELECT)!" Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
vandersonbritodutra Postado 24 de Março de 2020 Tópicos Que Criei: 7 Tópicos/Dia: 0.00 Meu Conteúdo: 76 Conteúdo/Dia: 0.03 Reputação: 10 Pontos/Conquistas: 471 Conteúdo Resolvido: 0 Dias Ganho: 6 Status: Offline Idade: 35 Dispositivo: Linux Denunciar Compartilhar Postado 24 de Março de 2020 To fazendo o teste abaixo.. IF OBJECT_ID('TEMPDB..#teste') IS NOT NULL DROP TABLE #teste select pffinanc.chapa, pffinanc.valor into #teste from pffinanc where codcoligada =1 Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Jair - Fórmula Postado 25 de Março de 2020 Tópicos Que Criei: 885 Tópicos/Dia: 0.13 Meu Conteúdo: 8.802 Conteúdo/Dia: 1.34 Reputação: 291 Pontos/Conquistas: 106.268 Conteúdo Resolvido: 0 Dias Ganho: 186 Status: Offline Idade: 51 Dispositivo: Windows Denunciar Compartilhar Postado 25 de Março de 2020 Pra rodar isso que está precisando, apenas por procedure @vandersonbritodutra. O sistema não aceita comandos de criação de tabela diretamente nas sentenças SQL da aplicação. Sobre a mensagem: "Sentença SQL não é um comando de seleção (SELECT)!" ... se criar alguma chamada de Procedure, no final virá essa mensagem também, mas pode ignorar se estiver correta a chamada e passagem de parâmetros se for usado assim. Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
vandersonbritodutra Postado 25 de Março de 2020 Tópicos Que Criei: 7 Tópicos/Dia: 0.00 Meu Conteúdo: 76 Conteúdo/Dia: 0.03 Reputação: 10 Pontos/Conquistas: 471 Conteúdo Resolvido: 0 Dias Ganho: 6 Status: Offline Idade: 35 Dispositivo: Linux Denunciar Compartilhar Postado 25 de Março de 2020 Obrigado Jair.. 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.