Ir para conteúdo
Fórum Script Brasil

fulvio

Moderadores
  • Total de itens

    1.218
  • Registro em

  • Última visita

Tudo que fulvio postou

  1. Bom dia Danilo, Verifique se na exportação você colocou as constraints também. Qual foi o método para fazer a exportação? Wizard?
  2. Boa tarde Caio, Dê uma olhada no link: http://support.microsoft.com/kb/942656/pt
  3. Bom dia Vinicius, Coloque o resultado do sql em uma temporária e faça a soma dos valores utilizando-a. Fica mais fácil o entedimento (manutenção) e menos passível de erros.
  4. Bom dia Caio, Ok, entendido. Mas você não pode matar o processo utilizando uma variável. A sintaxe do sql, após o KILL espera-se um inteiro. Mesmo que a variável contenha um inteiro, o sql não consegue interpretar. Tente fazer desta forma: CREATE PROCEDURE SP_ELIMINA_BLOCK AS Declare @v_spid INT DECLARE @Sql VARCHAR(100) Set @v_spid = SELECT spid FROM MASTER.DBO.SYSPROCESSES BLOCKING WHERE BLOCKING.BLOCKED = 0 AND EXISTS (SELECT 1 FROM MASTER.DBO.SYSPROCESSES BLOCKED WHERE BLOCKED.BLOCKED = BLOCKING.SPID ); Set @Sql = 'KILL ' + cast(@V_SPID AS VARCHAR) EXEC (@Sql)
  5. Bom dia Vinicius, Não tem como você utilizar o alias "Total_Vista" em outro cálculo. O que você pode fazer é substituir o alias "Total_Vista" por "Round(Sum(TotalAvista), 2)" na sintaxe. Fazer o mesmo procedimento com o alias "Total_geral".
  6. Boa tarde Caio, Declare @V_Variavel int Set @V_Variavel = (select campo_com_valor from tabela) O retorno do select tem q ser 1 valor apenas, pois o mesmo será atribuido à variável. Se o retorno do select for mais de 1 valor, dará erro.
  7. Bom dia Pessoal!! Bem lembrado Vinicius. Não sei ao certo o nível de compatibilidade entre 2005/2008, mas já tive experiência com 2000/2005. Algumas funcionalidades do 2000 foram descontinuadas no 2005. Aumentando o nível de compatibilidade do 2005, você poderia "emular" as funcionalidades descontinuadas do 2000, mas a performance do Banco cairira... seria interessante analisar estes tópicos...
  8. Apenas completando.... :.) você atachando o banco, você apenas muda o apontamento... se der pau já era (igual o Vinicius falou acima). você copiando terá a primeira base íntegra. Uma segurança a mais, mas com maior espaço em disco...
  9. Boa tarde Tiago, Seja bem vindo ao Forum!! Dê uma olhada no link e vê se ajuda: http://msdn.microsoft.com/pt-br/library/ms188664.aspx
  10. Boa tarde Vinicius, O sql é um pouco "chato" quanto a isto mesmo... rs. Perceba que manipulamos os dados de data no group by. Após o select você coloca o campo de retorno Valor_Total e DataDoPagamento. Mas o campo DataDoPagamento não é o mesmo do campo que manipulamos no group by. Resumindo: se manipular o campo no group by, terá que manipular o campo depois do select. No meu exemplo funcionou porque não coloquei o campo Date como retorno. Segue um exemplo para entendimento: CREATE TABLE #teste (valor INT, date DATETIME) INSERT INTO #teste VALUES (3, getdate()) INSERT INTO #teste VALUES (2, getdate()) -- Assim não vai dar SELECT SUM(valor), date FROM #teste t GROUP BY date -- Assim também não vai dar, porque o campo do group by não é o mesmo do de retorno SELECT SUM(valor), date FROM #teste t GROUP BY substring(CONVERT(VARCHAR(10), date, 103), 4, 2) -- Assim vai dar SELECT SUM(valor), substring(CONVERT(VARCHAR(10), date, 103), 4, 2) FROM #teste t GROUP BY substring(CONVERT(VARCHAR(10), date, 103), 4, 2) Caso tenha alguma dúvida, pode postar...
  11. Boa tarde Vinicius, Desculpe, não tinha entendido corretamente o problema. Agora entendi... rs. Desta forma poderá realizar uma conversão da data, agrupando ao invés pela data, pelo mês. Segue um exemplo pra entender melhor: CREATE TABLE #teste (valor INT, date DATETIME) INSERT INTO #teste VALUES (3, getdate()) INSERT INTO #teste VALUES (2, getdate()) -- Assim não vai dar SELECT SUM(valor) FROM #teste t GROUP BY date -- Assim vai dar SELECT SUM(valor) FROM #teste t GROUP BY substring(CONVERT(VARCHAR(10), date, 103), 4, 2)
  12. Boa tarde Thiago, Meverei seu post para Fórum Script Brasil > Banco de Dados > Demais Bancos
  13. Boa tarde Vinicius, O resultado está retornando apenas uma data por causa do GROUP BY DataDoPagamento. Se as datas forem exatemente iguais, o sql as agrupará. Caso queira que retorne separado, terá q tirar o agrupamento ou modificar as datas (pode ser colocando segundos diferentes, por exemplo). Se retirar o agrupamento, terá que refazer o cálculo utilizado no SUM.... :.(
  14. Boa tarde Paulo, Sim, conseguirá gerar o select.
  15. A sua sintaxe ficou parecida com isto? (digo parecida pois há outras formas a sintaxe). insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=D:\testing.xls;', 'SELECT * FROM [SheetName$]') select * from SQLServerTable O erro que pode ocorrer é erro de falta de acesso: http://blog.sqlauthority.com/2008/01/02/sq...part-of-the-se/
  16. Sim é possível. O seu script está quase certo... rs. Depois do CASE vem o valor. Mas da forma que colocou, a sintaxe após o CASE tem que ser suprimida. Perceba que também coloquei aspas simples para identificar caracteres. Ex.: CASE WHEN CONVERT(VARCHAR(19),DT_INICIO,103) > '05:59:59' and CONVERT(VARCHAR(19),DT_INICIO,103) <= '13:59:39' THEN /* códigos */ END AS PERIODO1
  17. Poderá utilizar a funcionalidade OPENROWSET do sql. http://msdn.microsoft.com/pt-br/library/ms190312.aspx
  18. De nada.... estamos aí pra ajudar!! Em sua sintaxe: CONVERT(VARCHAR(19),DT_INICIO,103) >= @DT_INI você está comparando caracter com data. Ou você converte tudo pra data ou tudo pra caracter para fazer a comparação. :.)
  19. Bom dia Rafael, você declarou as duas variáveis na assinatura da procedure. Sendo assim, você terá que passar estes valores como parâmetros... Mas caso queira executar a procedure e as variáveis forem internas (você não passar nenhum valor por parâmetro), a sintaxe AS deve estar antes da declaração das mesmas. Ex.: create PROCEDURE [dbo].[dbo.SPI_TESTE] /* Parâmetros */ as declare @DT_INI AS DATETIME declare @DT_FINAL AS DATETIME SET @DT_INI = '20/09/2011' SET @DT_FINAL = '21/09/2011' SELECT ID_MAQUINA_PARADAS,ID_MAQUINA,DT_INICIO,DT_FIM ,CONVERT(VARCHAR(19),DT_INICIO,103) AS DATA_INICIAL_PURA ,CONVERT(VARCHAR(19),DT_INICIO,108) AS HORA_INICIAL_PURA ,CONVERT(VARCHAR(19),DT_FIM,103) AS DATA_FINAL_PURA ,CONVERT(VARCHAR(19),DT_FIM,108) AS HORA_FINAL_PURA ,CONVERT(VARCHAR(19),DT_FIM-DT_INICIO,108) AS DIFERENCA_BRUTA ,DATEDIFF(DAY,DT_INICIO+2,DT_FIM) AS DIF_DIA FROM [SPI_BD_GROB_PERFORMANCE].[dbo].[SPI_TB_MAQUINA_PARADAS] WHERE CONVERT(VARCHAR(19),DT_INICIO,103) >= @DT_INI AND CONVERT(VARCHAR(19),DT_FIM ,103) <= @DT_FINAL
  20. Bom dia Bruno, Se for pra você mesmo, pode copiar e colar apenas.
  21. Bom dia Davi, Verifique as configurações do "Surface Area" no SQL. Habilite os protocolos específicos para a sua rede. Verifique as portas de conexão.
  22. Bom dia Paulo, Não entendi muito bem a modelagem. A entidade Loja relacionando com a entidade Itens_Doc. A entidade Itens_Doc relacionando com a entidade Itens_Declaracao. Creio que a entidade Itens_Doc está relacionada com um Documento. Um documento possui vários itens. Fazendo uma comparação com Nota Fiscal: a NF possui vários itens. A NF está relacionada com um estabelecimento. Não seria interessante relacionar cada item de uma NF com o mesmo estabelecimento.
  23. fulvio

    Variável dinamica

    Bom dia Kanaãm, Desta forma não tem como fazer.... mas você pode criar uma variável do tipo string, montar seu script e depois executar a variável string como sendo um comando sql. Ex.: DECLARE @Script VARCHAR(100) SET @Script = 'select getdate()' EXEC (@Script)
×
×
  • Criar Novo...