Fecha de modificacion automatica

08/09/2008 - 01:24 por Luisa Goicochea | Informe spam
Hola a todos

Segun pruebas veo que puedo definir un campo DateTime() y ponerle como valor
default la funcion GetDate() para que me incluya alli automaticamente la
fecha-hora de alta de un registro insertado.

Pero, estoy interesada en ver si hay alguna manera de cuando se manda a
actualizar el registro guardar en otro campo automaticamente la fecha-hora
de modificacion ?

La idea es que se haga automaticamente desde el servidor (getdate()) y no
mandarsela llena desde la aplicacion.

Se puede eso?

Preguntas similare

Leer las respuestas

#11 Gustavo Larriera (MVP)
09/09/2008 - 19:48 | Informe spam
No, un trigger no es un procedimiento almacenado automático.

Gustavo Larriera, Microsoft MVP
http://www.linkedin.com/in/gustavolarriera
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"Pedro" wrote:


>Y si usa un trigger... entonces no tiene por que usar un
>procedimiento almacenado.
>

Solo como aclaracion, un trigger tambien es un procedimiento almacenado solo
que automático. No?

>Y que ventajas tiene hacer
>1) exec dbo.usp_upd_t1 4, 'Prueba'
>sobre hacer
>2) update dbo.t1 set c2='Prueba', fecha_ins_upd=getdate() where c1=4
>
>actualizar.
>Ni se puede actualizar un conjunto de registros a la vez. Algo
>bastante básico con SQL.

Tambien como aclaración, creo que en la version 2008 ya se pueden mandar
conjuntos de registros a un procedimiento almacenado cualquiera con los
parametros tipo tabla.

saludos



Respuesta Responder a este mensaje
#12 Carlos M. Calvelo
09/09/2008 - 20:42 | Informe spam
Hola Pedro,

On 9 sep, 16:36, "Pedro" wrote:
>Y si usa un trigger... entonces no tiene por que usar un
>procedimiento almacenado.

Solo como aclaracion, un trigger tambien es un procedimiento almacenado solo
que automático. No?



Si, así es. Tanto los triggers como los procedimientos almacenados
son procedimientos. Y tan 'almacenados' son unos como los otros.
Son todos procedimientos a pesar de las diferencias (parametros,
resultados, tablas deleted/inserted, modo de activarse, ...).



>Y que ventajas tiene hacer
>1) exec dbo.usp_upd_t1 4, 'Prueba'
>sobre hacer
>2) update dbo.t1 set c2='Prueba', fecha_ins_upd=getdate() where c1=4



Por cierto, como se supone que 'fecha_ins_upd' es actualizada
por el procedimiento almacenado o el trigger, entonces
aquí yo tendría que haber comparado

exec dbo.usp_upd_t1 4, 'Prueba'

con

update dbo.t1 set c2='Prueba' where c1=4

(sin mayor importancia, solo por puntualizar)



>actualizar.
>Ni se puede actualizar un conjunto de registros a la vez. Algo
>bastante básico con SQL.

Tambien como aclaración, creo que en la version 2008 ya se pueden mandar
conjuntos de registros a un procedimiento almacenado cualquiera con los
parametros tipo tabla.




Ok. Eso está muy bien. Tablas (conjuntos de registros, relaciones)
son la estructura lógica de datos fundamental y me parece normal que
en el lenguaje se puedan tener variables de esos tipos, pasar sus
valores a funciones y obtenerlos como resultados.
Pero piensa que en una consulta se puede expresar mucho más que eso.
Estaríamos comparando un lenguage con una forma de llamar
procedimientos.

Pero también como aclaración, si hablamos de la interfaz, entonces
una base de datos es un conjunto de tablas (vistas incluidas).
Con ese conjunto de tablas y un lenguaje relacional (en este caso
lo que pretende ser SQL) se pueden derivar nuevas tablas (consultas)
y actualizar las existentes (insert/update/delete). Eso es todo lo
que se debe ver desde fuera (lenguaje + conjunto de tablas).

De los procedimientos almacenados (los que forman parte de la
interfaz) yo suelo decir que son aplicaciones que van con la base
de datos. Nada de malo en ello pero, aunque físicamente muy
conveniente, no es lógicamente ese el lugar que le corresponde.
Ni deben tratar de reemplazar una interfaz mucho mas potente.

El tema ya ha sido discutido en este foro. Y no ha faltado el
toque emocional. :)

Saludos,
Carlos
Respuesta Responder a este mensaje
#13 Alfredo Novoa
09/09/2008 - 23:28 | Informe spam
Hola Gustavo,

El Tue, 9 Sep 2008 10:48:02 -0700, Gustavo Larriera (MVP) escribió:

No, un trigger no es un procedimiento almacenado automático.



Supongo que habrá querido decir que es un procedimiento almacenado que se
dispara automáticamente.


Saludos
Alfredo
Respuesta Responder a este mensaje
#14 Maxi Accotto
11/09/2008 - 02:05 | Informe spam
Hola, no, un trigger es un trigger :) es un tipo de procedimiento como las
funciones, pero tienen distintas aplicaciones , usos y funcionan totalmente
distintos.
Por ejemplo a un trigger no le podes poner parametros de entrada niu salida,
por ejemplo un trigger genera automaticamente tablas inserted y deleted, y
mucho mas!

Por mas que en ambos escribas a la larga codigo TSQL, no son sinonimos.

Una aclacion, pasar array a los SP se puede desde la version 2000, mirar
este link

http://www.sommarskog.se/arrays-in-sql.html




Saludos
Maxi Accotto
Microsoft MVP en SQLServer
SQltotalconsulting
-

"Pedro" escribió en el mensaje de
noticias:

Y si usa un trigger... entonces no tiene por que usar un
procedimiento almacenado.




Solo como aclaracion, un trigger tambien es un procedimiento almacenado
solo que automático. No?

Y que ventajas tiene hacer
1) exec dbo.usp_upd_t1 4, 'Prueba'
sobre hacer
2) update dbo.t1 set c2='Prueba', fecha_ins_upd=getdate() where c1=4

actualizar.
Ni se puede actualizar un conjunto de registros a la vez. Algo
bastante básico con SQL.



Tambien como aclaración, creo que en la version 2008 ya se pueden mandar
conjuntos de registros a un procedimiento almacenado cualquiera con los
parametros tipo tabla.

saludos

Respuesta Responder a este mensaje
#15 Pedro
11/09/2008 - 03:05 | Informe spam

Una aclacion, pasar array a los SP se puede desde la version 2000, mirar
este link

http://www.sommarskog.se/arrays-in-sql.html





No hablaba de array sino de parametros tipo tabla. Eso solo se hace desde la
version 2008.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida