none
inserir resultados de uma query em uma tabela! RRS feed

  • Pergunta

  • Olha eu de novo aqui, galera to com uma query que um amigo fez a um tempo atrás e gostaria de saber se é possivel pegar o resultado que ela gera e dar tipo um "insert" em uma tabela

    Código:
    USE [Server01]
    
    /*
    Author: Nicke
    Date: 2018-09-10
    Description: Lists all characters that have a specific skill, showing their level too
    */
    
    DECLARE @SearchSkillID int = 95 -- SkillID
    
    DECLARE @SearchSkillIDStr varchar(4)
    SET @SearchSkillIDStr = SUBSTRING(CONVERT(VARCHAR(10), dbo.Int2Bin(@SearchSkillID), 1), 3, 4)
    
    DECLARE @CharacterIdx int
    DECLARE @SkillData varbinary(1024)
    DECLARE @SkillDataStr varchar(1024)
    DECLARE @CurrentSkillDataScopeStr varchar(10)
    DECLARE @SkillDataLenOffset int
    
    DECLARE db_cursor CURSOR FOR  
    SELECT CharacterIdx, [Data] FROM cabal_skilllist_table
    
    OPEN db_cursor   
    FETCH NEXT FROM db_cursor INTO @CharacterIdx, @SkillData   
    
    WHILE @@FETCH_STATUS = 0   
    BEGIN   
        SET @SkillDataStr = CONVERT(varchar(1024), @SkillData, 1)
    	  
    	SET @SkillDataLenOffset = 3 -- Initial offset (skip 0x)
    	WHILE ( @SkillDataLenOffset < LEN(@SkillDataStr) )
    	BEGIN
    		SET @CurrentSkillDataScopeStr = SUBSTRING(@SkillDataStr, @SkillDataLenOffset, 10)
    		SET @SkillDataLenOffset = @SkillDataLenOffset + 10
    
    		IF (PATINDEX(@SearchSkillIDStr + '%', @CurrentSkillDataScopeStr) > 0)
    		BEGIN
    			SELECT	@CharacterIdx as CharacterIdx,
    					@CurrentSkillDataScopeStr as SkillData,
    					dbo.BinToInt(CONVERT(varbinary(2), SUBSTRING(@CurrentSkillDataScopeStr, 5, 2), 2)) as SkillLevel
    
    			BREAK
    		END
    		
    	END
    
    	FETCH NEXT FROM db_cursor INTO @CharacterIdx, @SkillData     
    END   
    
    CLOSE db_cursor   
    DEALLOCATE db_cursor

    quando executo ela gera esse resultado aqui!
    nao posso postar img ainda entao vou tentar a moda antiga

    resultado :
    CharacterIdx SkillData         SkillLevel
    8 5F00045200 4
    9 5F00025200 2
    10 5F00015200 1




    gostaria de saber se é possível pegar esses 3 resultado ou + que a query gerar e inserir ela em uma tabela exemplo "resultados"

    se for possível blz, se não for ta beleza também, é uma curiosidade minha só!
    sábado, 14 de dezembro de 2019 23:43

Respostas

Todas as Respostas

  • Deleted
    domingo, 15 de dezembro de 2019 00:22

  • É necessário criar a tabela Resultados com as colunas CharacterIdx, SkillData e SkillLevel.

     

    Obrigado José, mais uma vez! ficou perfeito, eu já tinha criado a tabela antes, Eu  estava dando o INSERT INTO depois desse código, ai ele ate inseria os códigos na tabela, porem adicionava outras CharactersIDx que nao tinham a skill 95... eu estava no caminho certo :D 
    • Editado Losfera domingo, 15 de dezembro de 2019 00:50
    domingo, 15 de dezembro de 2019 00:49