SP con update

15/09/2006 - 18:36 por Angel Zapata | Informe spam
Hola a todos,

me gustaria hacer un procedimiento almacenado de manera que cuando se
inserte un registro en una tabla, me filtre una serie de registros de dicha
tabla, y a continuación me actualice unos campos relacionados en otra tabla
en otro registo. Con mas detalle:

Inserto un cliente nuevo en la tabla ClienteEstructura, dicho cliente tiene
relaciones padre/hijo con otros clientes, a modo de arbol, en el registro
que yo inserto ya le digo quien es el registro padre, a su vez ese registro
padre tiene otro padre, y así hasta cuatro niveles de dependencia.
Nivel5: Cliente 1540 - Padre 1220
Nivel4: Cliente 1220 - Padre 1110
Nivel3: Cliente 1110 - Padre 850
Nivel2: Cliente 850 - Padre 500
Nivel1:Cliente 500 - Padre 0 (No tiene padre, es el primer cliente)

Mi intención es que cuando yo indico un cliente nuevo (1540) en la tabla
ClienteEstructura, me actualice en la tabla cliente, los distintos niveles a
los que pertenece, en distintos campos llamados
Nivel4(1220),Nivel3(1110),Nivel2(850),Nivel1(500).

Y la verdad es que no encuentro como podría hacerlo, ¿alguien me da una
idea, una iluminación, un camino, o un no se que que me ayude?

Muchas gracias
Angel Zapata

Preguntas similare

Leer las respuestas

#1 Isaias
15/09/2006 - 20:38 | Informe spam
Angel

No se entiende la estructura y como decides que PADRE-HIJO debe tener o sus
relaciones, porque no envias la descripcion de tus tablas y como se toma la
decision de "casar" (ligar) a los registros.
Saludos
IIslas


"Angel Zapata" wrote:

Hola a todos,

me gustaria hacer un procedimiento almacenado de manera que cuando se
inserte un registro en una tabla, me filtre una serie de registros de dicha
tabla, y a continuación me actualice unos campos relacionados en otra tabla
en otro registo. Con mas detalle:

Inserto un cliente nuevo en la tabla ClienteEstructura, dicho cliente tiene
relaciones padre/hijo con otros clientes, a modo de arbol, en el registro
que yo inserto ya le digo quien es el registro padre, a su vez ese registro
padre tiene otro padre, y así hasta cuatro niveles de dependencia.
Nivel5: Cliente 1540 - Padre 1220
Nivel4: Cliente 1220 - Padre 1110
Nivel3: Cliente 1110 - Padre 850
Nivel2: Cliente 850 - Padre 500
Nivel1:Cliente 500 - Padre 0 (No tiene padre, es el primer cliente)

Mi intención es que cuando yo indico un cliente nuevo (1540) en la tabla
ClienteEstructura, me actualice en la tabla cliente, los distintos niveles a
los que pertenece, en distintos campos llamados
Nivel4(1220),Nivel3(1110),Nivel2(850),Nivel1(500).

Y la verdad es que no encuentro como podría hacerlo, ¿alguien me da una
idea, una iluminación, un camino, o un no se que que me ayude?

Muchas gracias
Angel Zapata



Respuesta Responder a este mensaje
#2 Angel Zapata
18/09/2006 - 10:37 | Informe spam
Hola Isaias,
tienes razón, a veces las cosas las explicamos tal como las entendemos, pero
eso no significa que sea comprensible.

Diseño de tablas:
TablaCliente: ClienteCodigo / ClienteNombre / ClienteDomicilio / ClienteNIF
/ ClienteRelacionNivel1 / ClienteRelacionNivel2 / ClienteRelacionNivel3 /
ClienteRelacionNivel4

TablaClienteEstructura: ClienteCodigo / ClienteNodo / ClienteNodoPadre

Diseño de tablas con datos:
TablaCliente: 1540 / PepeMartinez / Calle Ancha / 45454545D / 1220 / 1110 /
850 / 500

TablaClienteEstructura: Cliente / Nodo / NodoPadre
1540 / 52 / 43
1220 / 43 / 35
1110 / 35 / 27
850 / 27 / 12
500 / 12 / 0

Con la tabla cliente estructura consigo saber a quien corresponde cada
cliente, solo he de buscar su nodo padre y sabre el codigo de cliente del
que depende.

En la tabla cliente pretendo guardar la estructura de dependencias para
facilitar el filtrado de informes y demas.Entonces la idea es que cuando yo
añada un registro a la tabla ClienteEstructura se dispare una consulta que
me de la estructura de dependencias y a su vez me actualice los datos de
relaciones en la tabla Cliente para ese cliente solamente.

Espero haberme explicado mejor y que resulte mas comprensible el invento
este.

Muchas gracias

Un saludo
Angel Zapata




"Isaias" escribió en el mensaje
news:
Angel

No se entiende la estructura y como decides que PADRE-HIJO debe tener o


sus
relaciones, porque no envias la descripcion de tus tablas y como se toma


la
decision de "casar" (ligar) a los registros.
Saludos
IIslas


"Angel Zapata" wrote:

> Hola a todos,
>
> me gustaria hacer un procedimiento almacenado de manera que cuando se
> inserte un registro en una tabla, me filtre una serie de registros de


dicha
> tabla, y a continuación me actualice unos campos relacionados en otra


tabla
> en otro registo. Con mas detalle:
>
> Inserto un cliente nuevo en la tabla ClienteEstructura, dicho cliente


tiene
> relaciones padre/hijo con otros clientes, a modo de arbol, en el


registro
> que yo inserto ya le digo quien es el registro padre, a su vez ese


registro
> padre tiene otro padre, y así hasta cuatro niveles de dependencia.
> Nivel5: Cliente 1540 - Padre 1220
> Nivel4: Cliente 1220 - Padre 1110
> Nivel3: Cliente 1110 - Padre 850
> Nivel2: Cliente 850 - Padre 500
> Nivel1:Cliente 500 - Padre 0 (No tiene padre, es el primer cliente)
>
> Mi intención es que cuando yo indico un cliente nuevo (1540) en la tabla
> ClienteEstructura, me actualice en la tabla cliente, los distintos


niveles a
> los que pertenece, en distintos campos llamados
> Nivel4(1220),Nivel3(1110),Nivel2(850),Nivel1(500).
>
> Y la verdad es que no encuentro como podría hacerlo, ¿alguien me da una
> idea, una iluminación, un camino, o un no se que que me ayude?
>
> Muchas gracias
> Angel Zapata
>
>
>
Respuesta Responder a este mensaje
#3 Isaias
18/09/2006 - 20:52 | Informe spam
Angel

En mi empresa, manejo algo similiar a lo que comentas, solo que lo hago,
solo en una tabla, esta, contiene la ORGANIZACION en forma de ORGANIGRAMA o
ARBBOL, para lo cual esta asi:

idArea, ...demas columnas, idAreaPadre

Donde, idAreaPadre hace referencia al NODO principal (padre), si esta esta
en CERO, es un indicativo, que esa area en particular, No tiene padre dentro
del arbol o bien, ella misma es su padre, ejemplo, el CEO de la empresa.

Con esta tabla, puedo crear a nivel base de datos, todas las areas y
personal que reporta a dicha area, con lo cual puedo armar mi ORGANIGRAMA.

No le veo razon de ser a tu tabla TABLACLIENTE, donde por cierto, solo
manejas 4 niveles.

En mi tabla, puedo manejar niveles infinitos, tal cual, una contabilidad
(Cuenta-SubCuenta-SubSubCuenta, etc.)
Saludos
IIslas


"Angel Zapata" wrote:

Hola Isaias,
tienes razón, a veces las cosas las explicamos tal como las entendemos, pero
eso no significa que sea comprensible.

Diseño de tablas:
TablaCliente: ClienteCodigo / ClienteNombre / ClienteDomicilio / ClienteNIF
/ ClienteRelacionNivel1 / ClienteRelacionNivel2 / ClienteRelacionNivel3 /
ClienteRelacionNivel4

TablaClienteEstructura: ClienteCodigo / ClienteNodo / ClienteNodoPadre

Diseño de tablas con datos:
TablaCliente: 1540 / PepeMartinez / Calle Ancha / 45454545D / 1220 / 1110 /
850 / 500

TablaClienteEstructura: Cliente / Nodo / NodoPadre
1540 / 52 / 43
1220 / 43 / 35
1110 / 35 / 27
850 / 27 / 12
500 / 12 / 0

Con la tabla cliente estructura consigo saber a quien corresponde cada
cliente, solo he de buscar su nodo padre y sabre el codigo de cliente del
que depende.

En la tabla cliente pretendo guardar la estructura de dependencias para
facilitar el filtrado de informes y demas.Entonces la idea es que cuando yo
añada un registro a la tabla ClienteEstructura se dispare una consulta que
me de la estructura de dependencias y a su vez me actualice los datos de
relaciones en la tabla Cliente para ese cliente solamente.

Espero haberme explicado mejor y que resulte mas comprensible el invento
este.

Muchas gracias

Un saludo
Angel Zapata




"Isaias" escribió en el mensaje
news:
> Angel
>
> No se entiende la estructura y como decides que PADRE-HIJO debe tener o
sus
> relaciones, porque no envias la descripcion de tus tablas y como se toma
la
> decision de "casar" (ligar) a los registros.
> Saludos
> IIslas
>
>
> "Angel Zapata" wrote:
>
> > Hola a todos,
> >
> > me gustaria hacer un procedimiento almacenado de manera que cuando se
> > inserte un registro en una tabla, me filtre una serie de registros de
dicha
> > tabla, y a continuación me actualice unos campos relacionados en otra
tabla
> > en otro registo. Con mas detalle:
> >
> > Inserto un cliente nuevo en la tabla ClienteEstructura, dicho cliente
tiene
> > relaciones padre/hijo con otros clientes, a modo de arbol, en el
registro
> > que yo inserto ya le digo quien es el registro padre, a su vez ese
registro
> > padre tiene otro padre, y así hasta cuatro niveles de dependencia.
> > Nivel5: Cliente 1540 - Padre 1220
> > Nivel4: Cliente 1220 - Padre 1110
> > Nivel3: Cliente 1110 - Padre 850
> > Nivel2: Cliente 850 - Padre 500
> > Nivel1:Cliente 500 - Padre 0 (No tiene padre, es el primer cliente)
> >
> > Mi intención es que cuando yo indico un cliente nuevo (1540) en la tabla
> > ClienteEstructura, me actualice en la tabla cliente, los distintos
niveles a
> > los que pertenece, en distintos campos llamados
> > Nivel4(1220),Nivel3(1110),Nivel2(850),Nivel1(500).
> >
> > Y la verdad es que no encuentro como podría hacerlo, ¿alguien me da una
> > idea, una iluminación, un camino, o un no se que que me ayude?
> >
> > Muchas gracias
> > Angel Zapata
> >
> >
> >



Respuesta Responder a este mensaje
#4 Angel Zapata
18/09/2006 - 23:39 | Informe spam
Hola Isaias,

quiza en tu empresa la organización sea estable, en mi caso es dinamica, muy
dinamica, por tanto no solo debo guardar la estructura actual sino que me
interesa guardar la ultima relacion que tuvo un cliente. Por tanto me
interesa solamente cuando un cliente entra en la tabla de organización,
puesto que cuando sale, mantendrá la ultima relación que tuvo.

La proporcion que tengo es de 3500 clientes pero solamente 200 están
relacionados, el resto ya no pertenecen a la estructura actual, pero para
mantener historicos necesito guardar la ultima relación.

En la tabla TablaCliente puedo manejar niveles infinitos, pero por la
estructura de la empresa solo necesito 4, además, el problema lo tengo con
una migración de datos que estoy haciendo con una aplicación nueva, por
tanto la tabla ClienteEstructura desaparecerá, pero mientras termino el
desarrollo necesito una opción que me simplifique el mantenimiento de todo
esto, es por lo que pensé en hacer una consulta contra la tabla
ClienteEstructura y con los valores devueltos actualizar la tabla Cliente, y
a esa consulta ponerle un disparador de eventos en el momento en que un
cliente sea ingresado en la tabla ClienteEstructura.

Ese es el problema de los desarrollos reutilizando los datos existentes y
cuando el diseño final de la aplicación no está totalmente definido, por
tanto es una reforma de una vivienda, puede que un día tengas que dormir en
la cocina, pero eso no la convierte en un dormitorio, solamente utilizas la
cocina mientras reformas el dormitorio.

Un saludo
Angel Zapata

"Isaias" escribió en el mensaje
news:
Angel

En mi empresa, manejo algo similiar a lo que comentas, solo que lo hago,
solo en una tabla, esta, contiene la ORGANIZACION en forma de ORGANIGRAMA
o
ARBBOL, para lo cual esta asi:

idArea, ...demas columnas, idAreaPadre

Donde, idAreaPadre hace referencia al NODO principal (padre), si esta esta
en CERO, es un indicativo, que esa area en particular, No tiene padre
dentro
del arbol o bien, ella misma es su padre, ejemplo, el CEO de la empresa.

Con esta tabla, puedo crear a nivel base de datos, todas las areas y
personal que reporta a dicha area, con lo cual puedo armar mi ORGANIGRAMA.

No le veo razon de ser a tu tabla TABLACLIENTE, donde por cierto, solo
manejas 4 niveles.

En mi tabla, puedo manejar niveles infinitos, tal cual, una contabilidad
(Cuenta-SubCuenta-SubSubCuenta, etc.)
Saludos
IIslas


"Angel Zapata" wrote:

Hola Isaias,
tienes razón, a veces las cosas las explicamos tal como las entendemos,
pero
eso no significa que sea comprensible.

Diseño de tablas:
TablaCliente: ClienteCodigo / ClienteNombre / ClienteDomicilio /
ClienteNIF
/ ClienteRelacionNivel1 / ClienteRelacionNivel2 / ClienteRelacionNivel3 /
ClienteRelacionNivel4

TablaClienteEstructura: ClienteCodigo / ClienteNodo / ClienteNodoPadre

Diseño de tablas con datos:
TablaCliente: 1540 / PepeMartinez / Calle Ancha / 45454545D / 1220 / 1110
/
850 / 500

TablaClienteEstructura: Cliente / Nodo / NodoPadre
1540 / 52 / 43
1220 / 43 / 35
1110 / 35 / 27
850 / 27 / 12
500 / 12 / 0

Con la tabla cliente estructura consigo saber a quien corresponde cada
cliente, solo he de buscar su nodo padre y sabre el codigo de cliente del
que depende.

En la tabla cliente pretendo guardar la estructura de dependencias para
facilitar el filtrado de informes y demas.Entonces la idea es que cuando
yo
añada un registro a la tabla ClienteEstructura se dispare una consulta
que
me de la estructura de dependencias y a su vez me actualice los datos de
relaciones en la tabla Cliente para ese cliente solamente.

Espero haberme explicado mejor y que resulte mas comprensible el invento
este.

Muchas gracias

Un saludo
Angel Zapata




"Isaias" escribió en el mensaje
news:
> Angel
>
> No se entiende la estructura y como decides que PADRE-HIJO debe tener o
sus
> relaciones, porque no envias la descripcion de tus tablas y como se
> toma
la
> decision de "casar" (ligar) a los registros.
> Saludos
> IIslas
>
>
> "Angel Zapata" wrote:
>
> > Hola a todos,
> >
> > me gustaria hacer un procedimiento almacenado de manera que cuando se
> > inserte un registro en una tabla, me filtre una serie de registros de
dicha
> > tabla, y a continuación me actualice unos campos relacionados en otra
tabla
> > en otro registo. Con mas detalle:
> >
> > Inserto un cliente nuevo en la tabla ClienteEstructura, dicho cliente
tiene
> > relaciones padre/hijo con otros clientes, a modo de arbol, en el
registro
> > que yo inserto ya le digo quien es el registro padre, a su vez ese
registro
> > padre tiene otro padre, y así hasta cuatro niveles de dependencia.
> > Nivel5: Cliente 1540 - Padre 1220
> > Nivel4: Cliente 1220 - Padre 1110
> > Nivel3: Cliente 1110 - Padre 850
> > Nivel2: Cliente 850 - Padre 500
> > Nivel1:Cliente 500 - Padre 0 (No tiene padre, es el primer cliente)
> >
> > Mi intención es que cuando yo indico un cliente nuevo (1540) en la
> > tabla
> > ClienteEstructura, me actualice en la tabla cliente, los distintos
niveles a
> > los que pertenece, en distintos campos llamados
> > Nivel4(1220),Nivel3(1110),Nivel2(850),Nivel1(500).
> >
> > Y la verdad es que no encuentro como podría hacerlo, ¿alguien me da
> > una
> > idea, una iluminación, un camino, o un no se que que me ayude?
> >
> > Muchas gracias
> > Angel Zapata
> >
> >
> >



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida