Ir para conteúdo
Fórum Script Brasil

Fernandinha

Membros
  • Total de itens

    83
  • Registro em

  • Última visita

Posts postados por Fernandinha

  1. Boa noite.

    Tenho uma dúvida sobre XML no SQL Server.

    Quais seriam as diferenças entre:

    FOR XML RAW

    FOR XML RAW, ELEMENTS

    FOR XML AUTO

    FOR XML AUTO, ELEMENTS

    FOR XML PATH

    É que eu sempre encontro explicações não tão objetivas sobre esse assunto, daí gera mais dúvidas ainda.

    Obrigada a todos!!!

  2. Boa tarde pessoal.

    Estou com uma dúvida...

    O select abaixo traz números de telefones, porém quando a pessoa tem 2 telefones ele está duplicando a linha...

    Alguém poderia me dar um help por favor...

    SELECT DISTINCT

    TelResidencial = CASE WHEN TP.TpTelefone = 'R' THEN '(' + TP.DDD + ')' + TP.Numero

    END

    , TelCelular = CASE WHEN TP.TpTelefone = 'C' THEN '(' + TP.DDD + ')' + TP.Numero

    END

    , TelRecado = CASE WHEN TP.TpTelefone = 'E' THEN '(' + TP.DDD + ')' + TP.Numero

    END

    FROM TELEFONE AS TP

    WHERE Id = 1

    Id TelResidencial TelCelular TelRecado

    1 NULL (11 )xxxxx-xxxx NULL

    1 (11 )xxxx-xxxx NULL NULL

  3. Bom dia pessoal.

    Tenho uma procedure e hoje ela cria uma temporária em cima dessa temporária eu realizo a contagem para a definição de um TOP para fazer um select, porém essa temporária está armazenando mais de 1 milhão de registros, gostaria de saber se há algo que posso usar no lugar da temporária?

    Obrigada,

    Fernanda

  4. Bom dia Fulvio!

    Então, dessa forma eu já havia tentado, mas dá o seguinte erro:

    Msg 8120, Level 16, State 1, Line 2

    Column 'FREQUENCIA.HrRealizadas' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.

    Msg 8120, Level 16, State 1, Line 2

    Column 'FREQUENCIA.MinRealizados' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.

  5. Olá pessoal!!

    Tenho o seguinte select:

    SELECT DISTINCT

    Id,

    TotalHoras = REPLICATE('0',2-LEN(HrRealizadas))+ CAST((SUM(HrRealizadas) % 60) AS VARCHAR(2)) + ':' + REPLICATE('0',2-LEN(MinRealizados))+ CAST((SUM(MinRealizados) % 60) AS VARCHAR(2))/*(sum(HrRealizadas)+sum(MinRealizados/60))*/

    FROM FREQUENCIA

    WHERE Id = 5

    GROUP BY Id, HrRealizadas, MinRealizados

    Ele está me retornando:

    Id TotalHoras

    11195 04:45

    11195 36:00

    Porém gostaria que ele me retornasse isso:

    Id TotalHoras

    11195 40:45

    Alguém pode me dar um help, por favor?

    Obrigada.

  6. Consegui... Caso alguém precise segue exemplo:

    CREATE OR REPLACE FUNCTION processa_emp_audit() RETURNS TRIGGER AS $emp_audit$

    BEGIN

    --

    -- Não permitir atualizar a chave primária

    --

    IF (NEW.codigo <> OLD.codigo) THEN

    RAISE EXCEPTION 'Não é permitido atualizar o campo codigo';

    END IF;

    --

    -- Inserir linhas na tabela emp_audit para refletir as alterações

    -- realizada na tabela emp.

    --

    IF (NEW.nome <> OLD.nome) THEN

    INSERT INTO emp_audit SELECT CURRENT_USER, CURRENT_TIMESTAMP,

    NEW.id, 'nome', OLD.nome, NEW.nome;

    END IF;

    IF (NEW.salario <> OLD.salario) THEN

    INSERT INTO emp_audit SELECT CURRENT_USER, CURRENT_TIMESTAMP,

    NEW.codigo, 'salario', OLD.salario, NEW.salario;

    END IF;

    RETURN NULL; -- o resultado é ignorado uma vez que este é um gatilho AFTER

    END;

    $emp_audit$ LANGUAGE plpgsql;

    CREATE TRIGGER emp_audit

    AFTER UPDATE ON empregados

    FOR EACH ROW EXECUTE PROCEDURE processa_emp_audit();

  7. Estou tentando criar a trigger abaixo, mas está dando erro.

    Segue exemplo do que estou executando:

    CREATE TRIGGER tr_MudancaStatus AFTER INSERT

    ON TICKET FOR EACH ROW

    UPDATE tabela

    SET campo = 'Status 1'

    WHERE TYPE IN ('A', 'B')

    AND campo = 'New'

    UPDATE tabela

    SET campo = 'Status 2'

    WHERE TYPE IN ('C', 'D')

    AND campo = 'New';

    Obrigada.

×
×
  • Criar Novo...