none
Recorrer la primera fila y comparar RRS feed

  • Pregunta

  • Buen días amigos

    en una tabla temporal tengo 1000 registro y quiero recorrer la primera fila,comparar con otra tabla y por ultimo insertar en una tabla, después pues recorrer la segunda fila y hacer lo mismo

    Gracias espero y me ayuden.

    miércoles, 11 de julio de 2018 16:32

Todas las respuestas

  • Un campo varchar
    miércoles, 11 de julio de 2018 19:00
  • Hola Alexander Valle:

    Lo que estas proponiendo es básicamente un bucle, donde lees una fila y comparas e insertas.

    declare @contador int=0;
    declare @cadena varchar(1000)='cadena'
    declare @valor varchar(1000);
    
    while @contador < 1000
    begin
    set @valor = (select a from b);
     if (@cadena = @valor
     begin
    	insert into c....
    	end
    	else
    	begin
    		print 'no inserto'
    	end
    
    set @contador = @contador +1;
    end
    

    Pero este no es el camino lógico ni rápido/efectivo en sql server.

    Esto mismo se traduce en una sentencia insert

    declare @cadena varchar(1000)='cadena'
    insert into tabla 
    	select case when valor = @cadena then @valor else 'otro' from b 

    La sentencia insert ejecuta una select contra algo y devuelve mediante case un valor u otro a en función de la evaluación de la expresión.

    Hay muchas otras posibilidades. Si quieres obtener un mejor rendimiento de la pregunta, tendrás que concretar mucho más el escenario.

    Un saludo.

    miércoles, 11 de julio de 2018 19:57