locked
AJUDA COM PROCEDURE RRS feed

  • Pergunta

  • BOM DIA SENHORES,

    ESTOU COM DIFICULDADES PARA MONTAR UMA SP.

    MONTO A QUERY EM UMA VARIAVEL, MAS ULTRAPASSO OS 8000 CARACTERES.

    UMA IDEIA QUE ME VEIO A CABEÇA FOI FAZER O TRATAMENTO DAS LOJAS ANTES EM OUTRA VARIAVEL, E JOGAR OS VALORES QUE QUERO JAH TRATADOS NA OUTRA VARIAVEL.


    ME DERAM A IDEIA DE CRIAR TABELA TEMPORARIA PARA ARMAZENAR AS LOJAS, CONSEGUI FAZER O TRATAMENTO, MAS NAO ESTOU CONSEGUINDO SEPARAR OS VALORES PARA PODER USAR COMO CONDIÇÃO NA OUTRA QUERY...

    SEGUE O EXEMPLO(SIMPLIFICADO) DO QUE EU QUERO FAZER


    CREATE TABLE LOJA(
    COD VARCHAR(3),
    DESCRICAO VARCHAR(100))

    INSERT INTO LOJA VALUES ('001', 'LOJA 001')
    INSERT INTO LOJA VALUES ('002', 'LOJA 002')
    INSERT INTO LOJA VALUES ('003', 'LOJA 003')
    INSERT INTO LOJA VALUES ('004', 'LOJA 004')
    INSERT INTO LOJA VALUES ('005', 'LOJA 005')
    INSERT INTO LOJA VALUES ('006', 'LOJA 006')


    DECLARE @LOJA VARCHAR(200),@ESTAB VARCHAR(200)
    SET @LOJA = ('003 - LOJA 003#004 - LOJA 004#006 - LOJA 006')
    DROP TABLE #LOJAS
    CREATE TABLE #LOJAS (LOJAS VARCHAR(100))
    SET @ESTAB = ('INSERT INTO #LOJAS VALUES( LEFT('+ CHAR(39) + REPLACE(@LOJA,'#' , CHAR(39) + ',3)+'+CHAR(39) + ','+CHAR(39) +'+LEFT(' + CHAR(39)) + CHAR(39) +',3))' )
    --SELECT(@estab)
    EXEC (@ESTAB)


    SELECT * FROM LOJA L1
    WHERE COD IN (SELECT * FROM #LOJAS L2)
    OBRIGADO

    quinta-feira, 25 de setembro de 2008 14:22

Todas as Respostas

  • Caio,

     

    Mas então o que você quer fazer?

     

    - Criar um Stored Procedure;

    - Trabalhar com Tables Temporários;

    - Utilizar variáveis.

     

     

    Não veja nada de errado no seu código!!!!

     

    quinta-feira, 25 de setembro de 2008 16:31
    Moderador
  • entao cara meu problema começa quando vou usar a tabela temporaria no where.

    ele retorna o codigo das lojas que eu quero como se fosse um unico campo,
     preciso separa-los para o select  funcionar.



    SELECT * FROM LOJA L1
    WHERE COD IN (SELECT * FROM #LOJAS L2)

    quinta-feira, 25 de setembro de 2008 16:34
  • faz assim cara..
    .
    tenta rodar o exemplo q eu postei a cima...
    quinta-feira, 25 de setembro de 2008 16:40