Store Procedure ¿ ?

01/11/2008 - 16:14 por JNM | Informe spam
Que tal

E buscado por varios lados pero la verdad aun no me queda claro cuando y
como usar un store procedure, si alguien me puede recomendar algún documento
o dar una breve explicación de cuando usarlo y para que se usan, ya que he
visto que muchos los usan para insertar registros, validar información,
consultas para reportes impresos etc.

Gracias

Preguntas similare

Leer las respuestas

#11 Victor B.
04/11/2008 - 13:12 | Informe spam
Ajá, entonces es seguro que me falta un reciclaje a fondo. En cualquier
caso, no me gustaría pensar que 'las buenas maneras' en programación se han
perdido. Si hasta hace poco tiempo (relativamente) era casi deontológico
hacer uso de los SP para lograr mejor perfomance y dotar de cierto nivel de
seguridad a nuestros sistemas, mi hábito es tan fuerte como el fumar (que
también lo tengo) y, si bien es cierto que hoy en día las consultas
parametrizadas ya son tan eficaces me pregunto lo siguiente:
Si la capa de negocio la desarrollamos mayormente con SP en en la BBDD, y no
a nivel de programación con sentencias T-SQL implementadas en el código, en
un sistema donde la interfaz de usuario es de escritorio, cuando haya
cambios en las reglas, no sería mejor hacer el cambio en los SP solamente
una vez, que hacer el cambio en el ejecutable y tener que volver a
actualizar todos los terminales?

Víctor B.
Desarrollador independiente
"Alfredo Novoa" escribió en el mensaje
news:
El Mon, 3 Nov 2008 21:51:21 +0100, Victor B escribió:

En mi modesta opinión, los SP son muy útiles para hacer consultas, sobre
todo si intervienen varias tablas, condiciones WHERE o simplemente para
implementar llamadas desde Webservices, solamente por citar algunos
ejemplos. Partiendo de la base de que el SQLDBM 'pre-compila', y
permítame
el palabro, la consulta, después de haber hecho un análisis de eficacia y
rendimiento. Por lo que las consultas son más rápidas.



Si lees la documentación de Microsoft verás que hace bastante tiempo que
esto ha dejado de ser cierto.

Un SP comprueba la
validez de los parámetros pasados



Tampoco hay diferencias con una consulta parametrizada.


Saludos
Respuesta Responder a este mensaje
#12 Carlos M. Calvelo
04/11/2008 - 14:27 | Informe spam
On 4 nov, 13:12, "Victor B." wrote:
Ajá, entonces es seguro que me falta un reciclaje a fondo. En cualquier
caso, no me gustaría pensar que 'las buenas maneras' en programación se han
perdido. Si hasta hace poco tiempo (relativamente) era casi deontológico
hacer uso de los SP para lograr mejor perfomance y dotar de cierto nivel de
seguridad a nuestros sistemas, mi hábito es tan fuerte como el fumar (que
también lo tengo) y, si bien es cierto que hoy en día las consultas
parametrizadas ya son tan eficaces me pregunto lo siguiente:
Si la capa de negocio la desarrollamos mayormente con SP en en la BBDD, y no
a nivel de programación con sentencias T-SQL implementadas en el código, en
un sistema donde la interfaz de usuario es de escritorio, cuando haya
cambios en las reglas, no sería mejor hacer el cambio en los SP solamente
una vez, que hacer el cambio en el ejecutable y tener que volver a
actualizar todos los terminales?




"Las buenas maneras" as las que te refieres son que es el servidor
se encarge de esas reglas. Pero eso no quiere decir que sea en SP's.
Para eso están las restricciones y los triggers. O para la
derivación de datos, las visas.

Pero tengo que advertirte de lo siguiente:
Te puede parecer que te estamos diciendo algo importante pero es
bastante probable que recibas un correo diciéndote que Alfredo
y yo somos trolles y que "no buscamos mas que confundir a la
gente". Tan pronto como recibas ese correo, puedes en base de
eso, rechazar todo lo que te estamos diciendo y llamarlos unos
irrespetuosos y maleducados.
Respuesta Responder a este mensaje
#13 Victor B.
04/11/2008 - 15:29 | Informe spam
Pues, sinceramente, aunque los 'trolls' suelen captarse desde lejos, el tema
planteado en este hilo, incluso las conversaciones que dejaste en otro
mensaje como enlaces, con el, para mí, admirado Pablo Roca, no me han
parecido cosa de trolls. Si bien es cierto que no he seguido nunca tu
trayectoria ni la de Alfredo, por nada en especial, si no por que por este
foro (.es.sqlserver) no suelo leer, y por lo tanto desconozco vuestras
opinones y maneras, y aunque siempre se agradece que 'alguien' te avise de
tal o cual cosa, suelo ser bastante independiente al menos en lo que
respecta a formase una opinión de otra persona, que al fin y al cabo, detrás
de un troll hay una persona.
Simplemente me parece que hay diferencia de opiniones y siempre es bueno
opinar y escuchar la experiencia de los demás. Puede parecer, y no digo que
sea este el caso, que la manera de expresar estas opiniones, tal vez con
cierta prepotencia, tal vez menospreciando la de los demás, tal vez con
excesivo 'apasionamiento' que suele ser confundido con obsesión, condicionen
a priori la posible imagen que puedan formarse del que discute.
Por último, y retomando un poco el espíritu del título del hilo, considero
que se deberían explicar adecuadamente las ventajas o inconvenientes de usar
SP con respecto a triggers, roles, permisos, consultas parametrizadas,
vistas y otros mecanismos. Indicando, aunque sea a groso modo, en qué
situaciones, factor de escalabilidad de los mismos, etc. Y sobre todo, tanto
desde la prespectiva del administrador de BBDD como del desarrollador. Todos
sabemos que en nuestra profesión, el desarrollador tiene que hacer, casi
siempre, de admin. de BBDD y, en algunas ocasiones, el administrador debe
desarrollar. Me niego a pensar que los SP son simplemente scripts.


Víctor B.
Desarrollador independiente
"Carlos M. Calvelo" escribió en el mensaje
news:
On 4 nov, 13:12, "Victor B." wrote:
Ajá, entonces es seguro que me falta un reciclaje a fondo. En cualquier
caso, no me gustaría pensar que 'las buenas maneras' en programación se
han
perdido. Si hasta hace poco tiempo (relativamente) era casi deontológico
hacer uso de los SP para lograr mejor perfomance y dotar de cierto nivel
de
seguridad a nuestros sistemas, mi hábito es tan fuerte como el fumar (que
también lo tengo) y, si bien es cierto que hoy en día las consultas
parametrizadas ya son tan eficaces me pregunto lo siguiente:
Si la capa de negocio la desarrollamos mayormente con SP en en la BBDD, y
no
a nivel de programación con sentencias T-SQL implementadas en el código,
en
un sistema donde la interfaz de usuario es de escritorio, cuando haya
cambios en las reglas, no sería mejor hacer el cambio en los SP solamente
una vez, que hacer el cambio en el ejecutable y tener que volver a
actualizar todos los terminales?




"Las buenas maneras" as las que te refieres son que es el servidor
se encarge de esas reglas. Pero eso no quiere decir que sea en SP's.
Para eso están las restricciones y los triggers. O para la
derivación de datos, las visas.

Pero tengo que advertirte de lo siguiente:
Te puede parecer que te estamos diciendo algo importante pero es
bastante probable que recibas un correo diciéndote que Alfredo
y yo somos trolles y que "no buscamos mas que confundir a la
gente". Tan pronto como recibas ese correo, puedes en base de
eso, rechazar todo lo que te estamos diciendo y llamarlos unos
irrespetuosos y maleducados.
Respuesta Responder a este mensaje
#14 Alfredo Novoa
04/11/2008 - 15:47 | Informe spam
Hola Victor

El Tue, 4 Nov 2008 13:12:23 +0100, Victor B. escribió:

Ajá, entonces es seguro que me falta un reciclaje a fondo. En cualquier
caso, no me gustaría pensar que 'las buenas maneras' en programación se han
perdido. Si hasta hace poco tiempo (relativamente) era casi deontológico
hacer uso de los SP para lograr mejor perfomance y dotar de cierto nivel de
seguridad a nuestros sistemas



Según de que escuela vengas. Lo del rendimiento ya ves que se ha
desvanecido y con respecto a la seguridad también hay otras alternativas.

, mi hábito es tan fuerte como el fumar (que
también lo tengo) y, si bien es cierto que hoy en día las consultas
parametrizadas ya son tan eficaces me pregunto lo siguiente:
Si la capa de negocio la desarrollamos mayormente con SP en en la BBDD, y no
a nivel de programación con sentencias T-SQL implementadas en el código, en
un sistema donde la interfaz de usuario es de escritorio, cuando haya
cambios en las reglas, no sería mejor hacer el cambio en los SP solamente
una vez, que hacer el cambio en el ejecutable y tener que volver a
actualizar todos los terminales?



Si claro, pero se puede hacer aun mejor, en muchos cases se puede conseguir
lo mismo sin usar SP con menor esfuerzo.


Saludos
Alfredo
Respuesta Responder a este mensaje
#15 Victor B.
04/11/2008 - 15:56 | Informe spam
Pues dame algo de luz al respecto, como ves el tema me interesa bastante.

Víctor B.
Desarrollador independiente
"Alfredo Novoa" escribió en el mensaje
news:1f5qplwrkokts$.11ro41uawdkdg$

Hola Victor

El Tue, 4 Nov 2008 13:12:23 +0100, Victor B. escribió:

Ajá, entonces es seguro que me falta un reciclaje a fondo. En cualquier
caso, no me gustaría pensar que 'las buenas maneras' en programación se
han
perdido. Si hasta hace poco tiempo (relativamente) era casi deontológico
hacer uso de los SP para lograr mejor perfomance y dotar de cierto nivel
de
seguridad a nuestros sistemas



Según de que escuela vengas. Lo del rendimiento ya ves que se ha
desvanecido y con respecto a la seguridad también hay otras alternativas.

, mi hábito es tan fuerte como el fumar (que
también lo tengo) y, si bien es cierto que hoy en día las consultas
parametrizadas ya son tan eficaces me pregunto lo siguiente:
Si la capa de negocio la desarrollamos mayormente con SP en en la BBDD, y
no
a nivel de programación con sentencias T-SQL implementadas en el código,
en
un sistema donde la interfaz de usuario es de escritorio, cuando haya
cambios en las reglas, no sería mejor hacer el cambio en los SP solamente
una vez, que hacer el cambio en el ejecutable y tener que volver a
actualizar todos los terminales?



Si claro, pero se puede hacer aun mejor, en muchos cases se puede
conseguir
lo mismo sin usar SP con menor esfuerzo.


Saludos
Alfredo
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida