Top Ad unit 728 × 90

Recientes

recent

Programación Transact Estructura Iterativa WHILE - Bases de Datos en Microsoft Sql Server 2014 (30-35)

Buen día amigos de IncanatoIt, en este artículo veremos dentro de programación Transact Sql la estructura Condicional WHILE en Microsoft Sql Server.
La sentencia WHILE de SQL ejecuta una conjunto de instrucciones varias veces, mientras la condición por la cual se rige sea verdadera. Si en algún momento es falsa el bucle se termina.

Puedes seguir el curso Completo desde:

Puedes descargar el Material del Curso desde, Archivos del Curso, Backup y Presentaciones:

Programación Transact SQL

Scripts
Procedimientos Almacenados
Funciones
Triggers

Estructura de control Iterativa WHILE

La estructura WHILE hace repetir un conjunto de instrucciones en secuencia un número determinado de veces mientras la condición por la cual se rige sea verdadera, a esto se le denomina bucle o ciclo. Si en algún momento es falsa el bucle se termina.

Estructura de control Iterativa WHILE - Sintáxis

WHILE condición
BEGIN
     <expresión repetida>
   [BREAK]
     <expression repetida>
   [CONTINUE]
     <expression repetida>
END

Ejemplos:

Ejemplo 1:
Implementar un Script que permita mostrar los números pares consecutivos del 1 al 100.

--Declaramos la variable que controlará las repeticiones del bucle
declare @N INT=0
--Aplicamos la estructura iterativa
while (@N<100)
begin
     --Aumentamos el valor de N para iniciar en 1
     --y evaluarlo en la próxima iteración
     set @N=@N+1
     --Evaluamos que sólo se imprima el valor de N cuando es par, es decir su residuo es cero.
if (@N % 2 =0)
          Print 'Valor N: ' + Cast(@N as Char(3))
end
go


Ejemplo 2:
Implementar un Script que permita aumentar en 10% el costo de las tarifas solo si el promedio de estas no supera los 2000, cuando se termine de actualizar dichos valores mostrar el mensaje “YA NO HAY MÁS QUE ACTUALIZAR”.

Tabla Tarifa

--Iniciamos el ciclo de repeticiones
--y evaluamos las repeticiones mientras el
-- promedio  del precio sea menor que mil
while (select avg(precio) from tarifa)<2000
begin
     --Actualizamos el costo
     update tarifa set precio=precio*1.1
     --repetiremos el bucle hasta que el precio `    
     --sea mayor que 2000 ahi nos detenemos
     if (select max(precio) from tarifa)>2000
           break
     else
     --Si el precio no es mayor que 2000 continuamos
           continue
end
print 'Ya no hay más que actualizar'
go

Ejemplo 3:
Implementar un Script que permita mostrar los registros de la tabla pasajero paginados de 2 en 2.

Tabla Pasajero

--La página que deseamos mostrar
declare @pagina int=1
--Declaramos nuestra estructura iterativa
while(@pagina<=5)
begin
     --Número de filas por página
     declare @cantFilas int=2
     --adicionamos una subconsulta llamada X
     select * from (select rownum= ROW_NUMBER()
           over (order by p.idpasajero),
           --la función devuelve el número secuencial de una fila de una
           --partición de un conjunto de resultados,
           -- comenzando con 1 para la primera fila de
           --cada partición.
           * from pasajero p) X
           where rownum>(@cantFilas*(@pagina-1))AND
           rownum<=(@cantFilas*(@pagina-1))+@cantFilas
     set @pagina=@pagina+1
end
go

Programación Transact Estructura Iterativa WHILE (30-35) Bases de Datos en Microsoft Sql Server 2014



Saludos Imperio, un abrazo a la distancia.
Programación Transact Estructura Iterativa WHILE - Bases de Datos en Microsoft Sql Server 2014 (30-35) Reviewed by IncanatoIt-ad on 8:58 Rating: 5

No hay comentarios:

Todos los derechos reservados www.IncanatoIT.com - Desarrollando Software © 2014 - 2019
Desarrollado por Blogger, Designed by Sweetheme
IncanatoIt.com. Con la tecnología de Blogger.
y>