Tabla recursiva (2009-10-08)

08/10/2009 - 12:57 por Mauricio | Informe spam
Hola a todos,
tengo esta tabla:
CREATE TABLE [dbo].[PROYECTOS](
[IDProyecto] [int] IDENTITY(1,1) NOT NULL,
[Nombre] [varchar](50) NOT NULL,
[Comentario] [varchar](5000) NULL,
[IdPadre] [int] NOT NULL,
[Nivel] [tinyint] NULL,
[IdUsuario] [int] NULL,
[Fecha] [datetime] NULL,
[Mojon] [tinyint] NULL,
[NUMEROHISTORIA] [int] NULL,
[NoEnviarNotificacionesVCS] [tinyint] NULL,
[NoEnviarNotificacionesITS] [tinyint] NULL,
CONSTRAINT [PK_PROYECTOS] PRIMARY KEY CLUSTERED
(
[IDProyecto] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY
= OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

Es recursiva, con una relación entre IdProyecto e IdPadre.
Representa un árbol, con sub-proyectos colgando de un proyecto
principal, y puede tener n niveles.
Necesito hacer una vista o un procedimiento almacenado que me
devuelva la tabla ordenada alfábeticamente por proyectos y
sub-proyectos, y la verdad es que no se me ocurre cómo.
Ejemplo:
MCS
Dlls
Libs
Others
Planwin
Images
Bmps
Jpgs
Pngs
Scripts

Cualquier idea es bienvenida.
Gracias.

Mauricio
Copenhague, Dinamarca
 

Leer las respuestas

#1 Carlos Sacristan
08/10/2009 - 13:23 | Informe spam
Con CTE recursivas. Echa un vistazo a
http://msdn.microsoft.com/es-es/lib...90%29.aspx

"Caminar sobre el agua y desarrollar software a partir de unas
especificaciones es fácil, si ambas están congeladas."
Edward V. Berard, ingeniero informático


"Mauricio" wrote in message
news:
Hola a todos,
tengo esta tabla:
CREATE TABLE [dbo].[PROYECTOS](
[IDProyecto] [int] IDENTITY(1,1) NOT NULL,
[Nombre] [varchar](50) NOT NULL,
[Comentario] [varchar](5000) NULL,
[IdPadre] [int] NOT NULL,
[Nivel] [tinyint] NULL,
[IdUsuario] [int] NULL,
[Fecha] [datetime] NULL,
[Mojon] [tinyint] NULL,
[NUMEROHISTORIA] [int] NULL,
[NoEnviarNotificacionesVCS] [tinyint] NULL,
[NoEnviarNotificacionesITS] [tinyint] NULL,
CONSTRAINT [PK_PROYECTOS] PRIMARY KEY CLUSTERED
(
[IDProyecto] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY =
OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

Es recursiva, con una relación entre IdProyecto e IdPadre. Representa un
árbol, con sub-proyectos colgando de un proyecto principal, y puede tener
n niveles.
Necesito hacer una vista o un procedimiento almacenado que me devuelva
la tabla ordenada alfábeticamente por proyectos y sub-proyectos, y la
verdad es que no se me ocurre cómo.
Ejemplo:
MCS
Dlls
Libs
Others
Planwin
Images
Bmps
Jpgs
Pngs
Scripts

Cualquier idea es bienvenida.
Gracias.

Mauricio
Copenhague, Dinamarca


Preguntas similares