Ir al contenido


Foto

[RESUELTO] Puede un Trigger resolver esto ?


  • Por favor identifícate para responder
7 respuestas en este tema

#1 lsedr

lsedr

    Advanced Member

  • Miembros
  • PipPipPip
  • 272 mensajes

Escrito 15 noviembre 2010 - 04:07

Saludos

Tengo una duda,

Segun el concepto que he visto de los trigger, puedo crear uno que me pase automaticamente los valores de un Campo de una tabla a otro campo con el mismo nombre pero en tablas diferentes.

Por ejemplo:

Quiero que el trigger me pase el valor del campo Cliente_No de la tabla CLIENTES al campo Cliente_No pero que esta en la tabla EQUIPOS. Lo haria cada vez que se inserte un nuevo cliente en la tabla, y esto me evita a mi a tener que pasarle el valor yo a la tabla siguiente.

Asi como el valor del campo Equipo_No de la tabla EQUIPOS, al campo Equipo_No, pero de la tabla ORDENES.

Asi como el campo Orden_No de la tabla ORDENES, al campo Oreden_No, pero de la tabla REPARACIONES.

Es posible esto con el uso de un Trigger ??????????????

Como lo haria en SQL SERVER 2005 EXPRESS ????

Esta es una imagen de la BD en SQL server 2005 express

Archivos adjuntos


  • 0

#2 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.092 mensajes
  • LocationRepública Dominicana

Escrito 15 noviembre 2010 - 06:59

Saludos.

¿Pues de que modo insertas registros a una tabla? De ese mismo modo lo puedes hacer.

Ahora bien debes de tener en cuenta los demás campo de la tabla a donde vas a realizar la inserción.  Por lo que veo en tu diagrama, creo conveniente que no lo hagas de esta forma porque desde la tabla Clientes no tienes los valores de los campos pertenecientes a Equipos.
  • 0

#3 lsedr

lsedr

    Advanced Member

  • Miembros
  • PipPipPip
  • 272 mensajes

Escrito 15 noviembre 2010 - 07:32

A todas las tablas les inserto los datos desde Delphi 7 que es donde controlo la BD, lo puedo hacer manual y no me da problemas, lo que pasa es que queria ver si es posible hacerlo con un Trigger, pues en la guia de desarrollo que medio el profesor para esta tarea, me piden usar: Funciones, Trigger y Procedimientos almacenados.

y por eso se me ocurrio la idea, y creo que si se puede con un Trigger, lo que no se es como desarrollar ese Trigger en SQL server 2005 express que es la versión que tengo...

saludos C,


  • 0

#4 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4.483 mensajes
  • LocationVenezuela

Escrito 16 noviembre 2010 - 07:03

Realmente no se puede hacer lo que quieres, te explico porque:

Cuando tu ingresas un registro en la tabla de Equipos la BD no sabe que cliente esta llevando el equipo al menos que se lo indiques, y la forma de indicarselo es escribiendo el valor en el campo asi que igual estas metiendo el valor manual.
  • 0

#5 fredycc

fredycc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 874 mensajes
  • LocationOaxaca, México

Escrito 16 noviembre 2010 - 08:36

Como bien meciona eduarcol, al momento de ingresar un registro en una tabla, la otra aún no le estas pasando el equipo de cada cliente a menos que se lo indiques; creo en lo particular que un stored procedure con todos los parametros necesarios para ambas tablas resuelve el problema de los datos, ahora el otro es el ID del cliente si es que aún no tiene asignado uno, así que seran dos inserts, para capturar el ID en ms sql server podrías probar: SELECT @@IDENTITY AS IdTransaccion despues de un INSERT para dejar el ID en IdTrasaccion y mantenerlo en esa variable para insertarlo en una segunda segunda tabla.

Saludos.
  • 0

#6 felipe

felipe

    Advanced Member

  • Administrador
  • 3.283 mensajes
  • LocationColombia

Escrito 16 noviembre 2010 - 08:54

Pregunto, ¿ya viste relaciones master-detail en Delphi?


Saludos!
  • 0

#7 lsedr

lsedr

    Advanced Member

  • Miembros
  • PipPipPip
  • 272 mensajes

Escrito 16 noviembre 2010 - 02:46

Pregunto, ¿ya viste relaciones master-detail en Delphi?


Saludos!


bueno tenes razón, mejor lo hago así

Estoy estudiando esa parte en delphi

Oye, mi problema es que en el diseño del sistema que estoy haciendo, el profesor me pide Trigger, Procedimiento almacenados, y Funciones.

y estoy investigando eso...

Pues el sistema que estoy haciendo es un software que consiste en manejar toda la información necesaria sobre los clientes de un taller que repara única y exclusivamente Televisores. La BD es de SQL Server 2005 express con Delphi 7.


  • 0

#8 felipe

felipe

    Advanced Member

  • Administrador
  • 3.283 mensajes
  • LocationColombia

Escrito 16 noviembre 2010 - 04:17


Pregunto, ¿ya viste relaciones master-detail en Delphi?


Saludos!


bueno tenes razón, mejor lo hago así

Estoy estudiando esa parte en delphi

Oye, mi problema es que en el diseño del sistema que estoy haciendo, el profesor me pide Trigger, Procedimiento almacenados, y Funciones.

y estoy investigando eso...

Pues el sistema que estoy haciendo es un software que consiste en manejar toda la información necesaria sobre los clientes de un taller que repara única y exclusivamente Televisores. La BD es de SQL Server 2005 express con Delphi 7.



Bien,
te pregunté eso porque casi así me veía cuándo aprendía esa parte, guardaba primero el detalle antes que el encabezado para evitar errores de la base de datos. Esto lo hacía por cuenta propia, finalmente aprendí como era.

Por otra parte, si te piden uso de Disparadores y Procedimientos, ¿porqué no implementarlo en los campos incrementables?.


Saludos!
  • 0




IP.Board spam blocked by CleanTalk.