Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Triggers y consultas SQL

Estas en el tema de Triggers y consultas SQL en el foro de SQL Server en Foros del Web. Primero que nada, gracias por tomarse el tiempo de entrar y leer mis dudas de novato. Tengo algunas dudas de muchos temas. Si alguien me ...
  #1 (permalink)  
Antiguo 23/06/2013, 12:17
ilu7ionHD
Invitado
 
Mensajes: n/a
Puntos:
Exclamación Triggers y consultas SQL

Primero que nada, gracias por tomarse el tiempo de entrar y leer mis dudas de novato. Tengo algunas dudas de muchos temas.

Si alguien me preguntara lo que es un trigger y yo le respondiera lo siguiente:
"un triggers es un disparador muy similar a un procedimiento con la excepción de que este se ejecuta automáticamente, antes o después de una acción como puede ser un INSERT,UPDATE,DELETE,SELECT"
Estaría bien?

Preguntas:
1-Trigger solo sirve para lenguaje de manipulación de datos? es decir UPDATE,INSERT,DELETE,SELECT? o también sirve para control de datos y definición de datos?
2-Como se dice en SQL Server que el trigger se ejecute antes o después de una determinada acción?
3-Que significa FOR EACH ROW en un trigger?
  #2 (permalink)  
Antiguo 24/06/2013, 09:58
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 17 años, 4 meses
Puntos: 180
Respuesta: Triggers y consultas SQL

Trigger: SI

1.- Los triggers fueron creados para controlar el DRI (Data Referential Integrity), soy de la idea que no deben usarse como una programacion comun.
2.- Con la opcion de AFTER
3.- En SQL Server, no existe FOR EACH ROW

Para saber mas:

http://msdn.microsoft.com/es-es/library/ms189799.aspx
__________________
MCTS Isaias Islas
  #3 (permalink)  
Antiguo 24/06/2013, 10:15
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Triggers y consultas SQL

En referencia al punto 3 mencionado por @iislas, ten en cuenta que no existe un lenguaje procedural estandar, por lo que cada DBMS hace lo que quiere con el suyo (como también con la funciones propias de cada uno).
En ese sentido, existe esa cláusula en algunos de ellos, pero no en SQL Server.
No puedes copiar un código de Oracle en MySQL, ni uno de SQL Server en Oracle. Deben realizarse siempre adaptaciones que tienen límites en cuanto a cosas propias de cada caso.
¿Se entiende?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 24/06/2013, 11:55
ilu7ionHD
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Triggers y consultas SQL

Muchas gracias por sus respuestas me ayudaron mucho @gnzsoloyo si se entiende perfecto lo que decis, tenia entendido que el lenguaje estándar era sql y de ahi todos los SGDB se basaban en SQL obviamente no todos iguales pero si almenos un estandar en comun
  #5 (permalink)  
Antiguo 24/06/2013, 12:10
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Triggers y consultas SQL

SI. El SQL en sí cumple un estandar, que es el ANSI-SQL, y que es interpretado por todos.
Pero el PL/SQL, T-SQL o como lo quieran llamar, no está estandarizado. Sólo está definida su existencia, pero no se lo ha regulado.
Por eso las variables se declaran de diferente forma en todos, los parámetros se crean de distinto modo, y lo mismo pasa con cursores, controladores de flujo, constructores de SP/SF, etc.
Respecto a las funciones del SQL, hay una cantidad que se denominan igual, y tienen usos similares, pero otra cantidad que depende del DBMS. Incluso las que tienen el mismo nombre pueden tener diferentes parametrizaciones.
Uno se habitúa a saltar de uno a otro, por lo que en realidad no es demasiado complicado.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: sql, trigger
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:04.