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

Please necesito ayuda

Estas en el tema de Please necesito ayuda en el foro de Mysql en Foros del Web. Hola a Todos Me dieron esta funcion y me dijeron que hacia lo que yo buscaba, hacer una busqueda en forma de arbol en MySQL, ...
  #1 (permalink)  
Antiguo 26/10/2006, 09:38
 
Fecha de Ingreso: octubre-2006
Mensajes: 3
Antigüedad: 17 años, 6 meses
Puntos: 0
Pregunta Please necesito ayuda

Hola a Todos
Me dieron esta funcion y me dijeron que hacia lo que yo buscaba, hacer una busqueda en forma de arbol en MySQL, la voy a escribir seguidamente abajo, alguien sabe si eso se puede pasar a PHP y MySQl, es decir si MySQL se traga trabajar con funciones de ese tipo y como seria en caso de que si???, estuve probando y no he tenido buenos resultados, de hecho no se ni para que gestor de BD esta hecha la funcion. Gracias, Saludos "Yo"

Esta es la Funcion:

CREATE FUNCTION dbo.DescendientesCategoria (@IDCategoria numeric)
RETURNS @retDescendientesCategoria2 TABLE (retIDCategoria numeric primary key)
AS
BEGIN
DECLARE @level int
DECLARE @retDescendientesCategoria TABLE (retIDCategoria numeric primary key, retlevel int)
INSERT INTO @retDescendientesCategoria VALUES (@IDCategoria, 1)
SELECT @level = 1
WHILE @level > 0
BEGIN
IF EXISTS (SELECT * FROM @retDescendientesCategoria WHERE retlevel = @level)
BEGIN
SELECT @IDCategoria = retIDCategoria
FROM @retDescendientesCategoria
WHERE retlevel = @level
INSERT INTO @retDescendientesCategoria2 VALUES (@IDCategoria)
DELETE FROM @retDescendientesCategoria
WHERE retlevel = @level
AND retIDCategoria = @IDCategoria
INSERT @retDescendientesCategoria
SELECT IDCategoria, @level + 1
FROM Categorias
WHERE IDCategoriaPadre = @IDCategoria
IF @@ROWCOUNT > 0
SELECT @level = @level + 1
END
ELSE
SELECT @level = @level - 1
END -- WHILE
RETURN
END
  #2 (permalink)  
Antiguo 26/10/2006, 15:18
Avatar de iandrade  
Fecha de Ingreso: septiembre-2006
Ubicación: Xalapa, Veracruz, MÉXICO.
Mensajes: 171
Antigüedad: 17 años, 7 meses
Puntos: 6
Mira de entrada parace una funcion de SQLServer, en algunas versiones de MySQL existen los denominados Stored Procedures, pero no recuerdo que la sintaxis sea de esta forma. Ademas a veces es comun confundir SQL con MySQL, cuando estos son muy diferentes; y en algunos casos al SQLServer lo denominan Sequal y a MySQL como Mysequal lo cual no es correcto. De ahi pueden nacer confusiones al momento de pedir ayuda.

Última edición por iandrade; 26/10/2006 a las 15:20 Razón: Errores al escribir
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 18:24.