Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Metodo Burbuja en sql server

Estas en el tema de Metodo Burbuja en sql server en el foro de SQL Server en Foros del Web. bueno amigo soy nuevo en este foro y tengo el siguiente problema, tengo q hacer un procedimiento de almacenado para ordenar mi tabla de "n" ...
  #1 (permalink)  
Antiguo 07/07/2013, 10:23
 
Fecha de Ingreso: julio-2013
Ubicación: copiapo
Mensajes: 10
Antigüedad: 11 años, 4 meses
Puntos: 0
Pregunta Metodo Burbuja en sql server

bueno amigo soy nuevo en este foro y tengo el siguiente problema, tengo q hacer un procedimiento de almacenado para ordenar mi tabla de "n" cantidad de valores, como muchos saben en sql no existe el ciclo for asi q lo hice con while pero el procedimiento no me lo ordena. Este es el procedimiento que hice:
Código SQL:
Ver original
  1. CREATE PROCEDURE  OrdenarDatos
  2.  AS
  3.  BEGIN
  4.      DECLARE
  5.     @i INT = 1,
  6.     @j INT = 1,
  7.     @arreglo1  INT ,
  8.     @arreglo2  INT ,   
  9.     @n  INT
  10.      SET  @n =( SELECT  [COLOR="Magenta"]MAX (posicion)  FROM  Arreglo)
  11.    
  12.      WHILE (@i<@n-1)
  13.      BEGIN
  14.          WHILE (@j<@n-1)
  15.          BEGIN
  16.              SET  @arreglo1 =( SELECT  dato  FROM  Arreglo  WHERE  @j = posicion)
  17.              SET  @arreglo2 =( SELECT  dato  FROM  Arreglo  WHERE  (@j + 1) = posicion)
  18.              IF (@arreglo1>=@arreglo2)
  19.              BEGIN
  20.                  DECLARE
  21.                 @tem  INT  = @arreglo2
  22.                
  23.                  UPDATE  Arreglo
  24.                  SET  dato = @arreglo1
  25.                  WHERE  (@j+1)=posicion
  26.                
  27.                  UPDATE  Arreglo
  28.                  SET  dato = @tem
  29.                  WHERE  @j=posicion
  30.                
  31.                  SET  @j = @j+1
  32.                
  33.                  CONTINUE
  34.              END
  35.              SET  @j = @j+1
  36.          END
  37.          SET  @i = @i+1
  38.          CONTINUE
  39.      END
  40.  END

Segun yo el codigo esta bien los ciclos de repeticion orientados en el metodo burbuja, si podrian ayudarme se los agradeceria de antemano muchas gracias

Última edición por gnzsoloyo; 07/07/2013 a las 12:30 Razón: SQL si etiquetar y mal resaltado.
  #2 (permalink)  
Antiguo 07/07/2013, 21:21
 
Fecha de Ingreso: julio-2012
Ubicación: Israel
Mensajes: 360
Antigüedad: 12 años, 4 meses
Puntos: 40
Respuesta: Metodo Burbuja en sql server

En SQL ordenamos los conjuntos de datos solamente cuando los recuperamos:
Código SQL:
Ver original
  1. SELECT * FROM MiTabla ORDER BY MiColumna;
Este algoritmo es adecuado a Arrays en lenguajes procedurales, y no en SQL que es un lenguaje declarativo y el algoritmo de ordenación ya esta aplicado en el Order By.
__________________
El Castellano no es mi lengua materna: discúlpenme por los errores gramaticales.
Mi blog
  #3 (permalink)  
Antiguo 08/07/2013, 08:22
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Metodo Burbuja en sql server

como bien te comentan, puedes usar el order by que ya viene con sql server o como quieres ordenar tus datos?
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: burbuja, metodo, select, server, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:33.