Ir para conteúdo
Fórum Script Brasil

caioamante

Membros
  • Total de itens

    12
  • Registro em

  • Última visita

Posts postados por caioamante

  1. Bom dia Caio,

    Segue uns exemplos que pode te ajudar:

    -- retorna a posição do caracter pesquisado
    select CHARINDEX('/', '1234/001')
    
    -- pegando os números antes do /
    SELECT left('1234/001', CHARINDEX('/', '1234/001')-1)
    
    -- pegando os números depois do /
    SELECT right('1234/001', CHARINDEX('/', '1234/001')-2)
    
    -- concatendo o que quiser...
    SELECT left('1234/001', CHARINDEX('/', '1234/001')-1) + ' XXX ' +  right('1234/001', CHARINDEX('/', '1234/001')-2)

    Amigo...

    Isso irá funcionar na amarração?

    não quero sleecionar.. quero amarrar um campo que tem as informações depois da barra com esse campo que tem informações antes e depois, no entanto amarrando o que vem depois da barra no outro campo da tabela que representa o valor:

    Ex: campo1 = 1234/001

    campo 2 = 001

    quero fazer um

    where campo1 = campo2

    entendeu?

  2. Amigos tenho um sql que faz a seguinte amarração

    AND CAST(SUBSTRING(A.NUM_LOTE_ORIG,1,PATINDEX('%/%',A.NUM_LOTE_ORIG)-1) AS

    INTEGER) = B.NUM_AVISO_REC

    Vou explicar:

    O A.NUM_LOTE_ORIG contem registros nesse formato 1234/001 onde o 1234 é o aviso de recebimento e o 001 é a sequência.

    Verifique que hoje faço alguns comandos para ele fazer essa amarração desconsiderando o que vem após o / incluindo ele.

    Nesse ponto começa o problema a maneira que está hoje me atende normalmente, mas surgiu uma necessidade agora de eu amarrar com o campo B.NUM_SEQ tudo que vem

    após o / tirando ele.

    Resumidamente preciso fazer uma amarração parecida com o que está ai no entanto pegando o que vem depois do / e amarrando com o campo B.NUM_SEQ que equivale o 001

    depois da barra.

    Aguardo e muito obrigado.

  3. 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)

    Parceiro.. tentei conforme me explicou mas apresenta problemas também:

    >

     Linhas do script: 9-11 -----------------------

    SET

    @SQL = 'KILL ' + CAST(@V_SPID AS VARCHAR) EXEC (@SQL)

    >[Erro] Linhas do script: 9-11 ----------------------

    Must declare the scalar variable "@V_SPID".

    Msg: 137, Nível: 15, Estado: 2, Procedimento: , Linha: 2

    >[Erro] Linhas do script: 9-11 ----------------------

    Must declare the scalar variable "@SQL".

    Msg: 137, Nível: 15, Estado: 2, Procedimento: , Linha: 2

    [Executado: 10/10/11 11h39min21s GMT-03:00] [Execução: 1/ms]

  4. 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.

    Amigo, obrigado mesmo pelo retorno.

    Minha idéia é a seguinte:

    Pegar essa variavel e colocar numa procedure que me traz o spid problematico e em seguida matar o spid, hoje faço esse processo manualmente, rodo o select e depois faço o kill na mão.

    CREATE

    PROCEDURE SP_ELIMINA_BLOCK AS

    Declare @v_spid int

    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

    );

    KILL @V_SPID;

  5. Boa tarde a todos!

    Estou iniciando com o Sql Server e preciso fazer uma procedure que trabalhe da seguinte forma:

    Pega uma variavel e insira a informação de um campo.

    Ex:

    V_Variavel

    select campo_com_valor from tabela

    Eu quero inserir o valor do campo com valor dentro da v_variavel e criar a procedure.

    Sempre vai retornar 1 unico campo e uma unica linha.

    alguém pode me ajudar?

  6. Boa tarde!

    Sou novo aqui e estou com uma dúvida no ireport.

    Tenho um relatório que possui um campo footer que traz um saldo, esse saldo tem um calculo dentro dele que pega quantidade recebida menos a quantidade devolvida.. que é de fato o saldo.

    Porém eu preciso passar para o reltório só me trazer os registros das notas que tem o saldo <> de 0 e não estou conseguindo fazer isso.

    Já tentei muitas coisas.

    Att

    Caio

×
×
  • Criar Novo...