SQL Server - duda sobre triggers

   
Vista:

duda sobre triggers

Publicado por marcos (2 intervenciones) el 14/04/2008 22:54:29
Hola yo he trabajado siempre con Oracle pero en esta ocación estoy en un proyecto donde debo utilizar sql server 2000 y estoy atorado en un trigger que al momento de insertar un registro llene un campo obligatorio de la tabla para no tener que estar programandolo en cada sentencia de insert a la tabla... no se si alguien me pueda ayudar
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:duda sobre triggers

Publicado por Isaias (3308 intervenciones) el 15/04/2008 00:00:47
El trigger seria para INSERT, aunque debe tomar en cuenta que en la tabla temporal llamada INSERTED, puede haber mas de un registro.

Yo no lo haria en un trigger, le pregunto, ¿El valor es una constante?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:duda sobre triggers

Publicado por marcos (2 intervenciones) el 15/04/2008 00:07:33
Antes que nada gracias lo que pasa es que tengo una tabla (maestro) que se llama Bancos y otra tabla que se llama cuentas (detalle)...

en la tabla maestro tengo un campo banco_id que es identity en la tabla detalle mi pk es banco_id y un cuenta que es decimal(10)

pero lo que quiero es que cuando inserte en cuenta en automático vaya generando el consecutivo que sigue para que quede algo así

banco cuenta
1 1
1 2
1 3
2 1
2 2
3 1
..........n n

no se si me explique... se que eso lo puedo calcular antes de mandar la sentencia del insert y mandar el valor que quiero.... pero creo que seria mejor si lo hiciera el trigger de insert que opinas?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:duda sobre triggers

Publicado por Isaias (3308 intervenciones) el 15/04/2008 20:23:22
¿Que opino?, que no es una buena solucion.

Los campos con propiedad IDENTITY, si se borran, no conservan el consecutivo, ademas, en cualquier fallo de inserccion, se incrementa el consecutivo.

La propiedad IDENTITY, fue creada para registros que NUNCA seran borrados y que no habra fallo en su inserccion, comunmente son para tablas de transacciones de alto trafico.

¿Que recomiendo?

Que mediante el store procedure y con TRANSACCIONES IMPLICITAS (BEGIN TRAN, COMMIT TRAN, ROLLBACK TRAN), busque el ultimo numero, sume en 1 y genere el consecutivo que el corresponde.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar