Jump to content

Motar

Members
  • Content count

    57
  • Joined

  • Last visited

Community Reputation

0 Comum

1 Follower

About Motar

  1. Viva Agradecia ajuda para criar um store procedure para calcular o seguinte: Tenho uma tabela constituída pelas seguintes colunas (41): Referencia Nome1 Nome2 Nome3 ... Nome40 O campo do Nome1 até ao Nome40 é do tipo int Pretendia para cada linha da tabela selecionar o valor mais alto entre a coluna Nome1 e a Nome40 e depois adiciona-se numa nova tabela com três colunas os seguintes valores: Na primeira coluna o valor da Referencia Na segunda coluna o nome da coluna maior Na terceira coluna o valor da coluna maior Tem como fazer isso? Abraços
  2. Motar

    Tratamento de erro em função sql server

    Obrigado pela ajuda, abraço
  3. Motar

    Tratamento de erro em função sql server

    Obrigado pela ajuda Qual a solução que você sugere para não dar erro a minha view?
  4. Motar

    Conversão de número em texto

    Olá Sim, ao exibir os dados da tabela mostra as decimas separadas por virgula. O que é o collation da base?
  5. Bom dia Criei esta função para me dar o resultado 9999 em caso de erro na fórmula, mas está a dar erro a compilar, agradeço ajuda ALTER FUNCTION [dbo].[fcnCalcDist]( @LAT1 FLOAT, @LONG1 FLOAT, @LAT2 FLOAT, @LONG2 FLOAT ) RETURNS FLOAT AS BEGIN DECLARE @RET FLOAT BEGIN TRY SET @RET=(ACOS(SIN(@LAT1*PI()/180)*SIN(@LAT2*PI()/180)+COS(@LAT1*PI()/180)*COS(@LAT2*PI()/180)*COS((@LONG2*PI()/180)-(@LONG1*PI()/180)))*6371) END TRY BEGIN CATCH SET @RET= 9999 END CATCH RETURN @RET END
  6. Motar

    Conversão de número em texto

    Utilizei esta função e corta na mesma dois digitos, os dados da tabela estão como float Qual será o erro? ALTER FUNCTION [dbo].[fcnCoordenadasKml]( @LAT FLOAT, @LONG FLOAT ) RETURNS varchar(40) AS BEGIN DECLARE @RET varchar(40) DECLARE @LAT_T varchar(40) DECLARE @LONG_T varchar(40) SET @LAT_T = @LAT SET @LONG_T = @LONG SET @RET=REPLACE(@LONG_T,',','.') + ',' + REPLACE(@LAT_T,',','.') RETURN @RET END
  7. Motar

    Conversão de número em texto

    Como eu aplico esse código numa View? (Pretendo converter vários registos de uma tabela) declare @valor varchar(40) set @valor = '-7,3130746'
  8. Bom dia Pretendo converter este número -7,3130746 em -7.3130746 Aplicando a função REPLACE(CONVERT (nvarchar(50); dbo.Tabela.CoordenadaX); ','; '.') Obtenho o valor -7.31307 Ou seja, corta dois digitos. Tem como converter na totalidade (-7.3130746) Obrigado
  9. Motar

    GROUP BY para o primeiro registro

    Obrigado pela ajuda, com este código funcionou como eu pretendo :)
  10. Motar

    GROUP BY para o primeiro registro

    Não seria 31-01-2015 porque eu pretendo selecionar a data menor do estado menor, por exemplo o estado menor do cliente 1 é Estado1 e dentro do estado 1 a data menor é 01-03-2015, espero ter-me feito entender do que pretendo
  11. Motar

    GROUP BY para o primeiro registro

    Com este comando (Group by com MAX(data) mostra a data máxima independente do estado certo? (Não é isso que pretendo)
  12. Viva Tenho uma tabela de clientes que tem o campo CodCliente, depois tenho outra tabela de ComprasPorCliente. A tabela ComprasPorCliente tem o campo Estado e DataEstado Pretendo criar uma View que me mostre para cada cliente a compra no estado mais baixo e a data desse estado mais baixa. Exemplo: CodCliente = 1 ComprasPorCliente CodCliente Estado DataEstado 1 Estado1 31-03-2015 1 Estado1 01-03-2015 1 Estado2 02-02-2015 1 Estado3 31-01-2015 2 Estado2 02-02-2015 2 Estado3 31-01-2015 O resultado da view deveria ser: CodCliente Estado DataEstado 1 Estado1 01-03-2015 2 Estado2 02-02-2015 Fazendo uma view com ordenações mostra em primeiro lugar para cada cliente a informação pretendida, mas mostra vários registos para cada cliente. Tem como fazer um GROUP BY para o primeiro registo de cada cliente?
  13. Se não estou em erro o código abaixo da permissão para todas as views, mas eu só pretendo dar para as que começam por um determinado nome. GRANT SELECT ON dbo.view TO user; Dá para por o exemplo do código?
  14. Viva A.Jr A versão que utilizo é SQL server express 2008
  15. Motar

    Gestão de acessos

    Viva Cada login tem acesso a determinadas tabelas e consultas, é possivel bloquear esse acesso via ODBC? Um login que tenha acesso só de leitura a tabelas, mas que tenha permissão de executar store procedures, pode fazer update a uma tabela via store procedute mesmo que só tenha acesso de leitura a essa tabela? Um login qque esteja a ser utilizado por varios utilizadores em simultâneo, pode fazer update a tabelas em simultaneo, inclusive a mesma tabela? Agradeço resposta a estas duas questões Abraço
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.