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

#26 Alfredo Novoa
05/11/2008 - 19:54 | Informe spam
El Wed, 5 Nov 2008 10:32:59 -0800 (PST), juandbp escribió:

En principio, no me han dado guerra en ningún momento, ni siquiera en
inserciones por lotes, las cuales se dan en mi caso, con muy poca
frecuencia.



Ya, también es mi caso y por eso también me viene bien el truco.

Supongo que otra opción podría ser "sacar" esas restricciones de la
tabla y chequearlas en la vista que finalmente presento a la
aplicación. Sobre la vista no se va a dar nunca el caso de inserciones
por lotes. Si tengo problemas, supongo que esa podría ser una
solución.



Si, es otro apaño que también puede ir bien.


Saludos
Respuesta Responder a este mensaje
#27 JNM
05/11/2008 - 19:56 | Informe spam
Gracias a todos por su tiempo y comentarios.

"Maxi Accotto" wrote:

Hola, el uso de SP es un mecanizmo para mejorar:

Seguridad
Reutilizacion de codigo
Performance

Ahora hay quienes no lo usan nunca y quienen lo usan siempre.
Hay tambien otros objetos como las funciones pero no son iguales a los SP

Este es un tema que dara para discutir mucho y no voy a entrar en esa ya que
aparecera el troll de este grupo y no se podra armar algo concreto y serio.

Si le interesa discutir el tema lo invito a que lo hagamos de forma privada
y le cuente en donde le conviene y donde no usar sp.

maxi(punto)accotto(arroba)gmail.com




Saludos
Maxi Accotto
Microsoft MVP en SQLServer
SQltotalconsulting
-

"JNM" escribió en el mensaje de
noticias:
> 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
>

Respuesta Responder a este mensaje
#28 Carlos M. Calvelo
05/11/2008 - 20:56 | Informe spam
Hola JNM,

On 5 nov, 19:56, JNM wrote:
Gracias a todos por su tiempo y comentarios.



Ya sé que se te han dado pocas respuestas directas, pero
de los enlaces que puse a otras discusiones quizás puedas
sacar algo en limpio.

Saludos,
Carlos
Respuesta Responder a este mensaje
#29 Jose Antonio
05/11/2008 - 23:27 | Informe spam
Todavía no me has contestado a mi pregunta, tan dificil es?

Por cierto yo en ningun momento he dicho que haya que utilizar para todo
sp's, pero de mis propias pruebas en el rendimiento y no de lo me cuentan he
llegado a la conclusion de que en determinados casos son muy apropiados.

un saludo.

"Carlos M. Calvelo" escribió en el mensaje
news:
On 2 nov, 22:22, "Jose Antonio" wrote:
Hombre café no, pero si para lo que han sido diseñados, es decir para
ejecutar cualquier conjunto de instrucciones sql, sean de insercion,
update,
delete o consultas bien simple o todo lo complejas que quieras.



Vamos, que según tu los sp's han sido diseñados para ejecutar
consultas. El que se va a tener que esmerar un poquito me parece
que eres tu.



Ya me explicaras la diferencia que hay entre las consultas normales y las
que van dirigidas a ser una fuente de datos en un report.




Y donde he dicho yo que haya tal diferencia para tener que
explicarlo ahora?

Saludos,
Carlos
Respuesta Responder a este mensaje
#30 Maxi Accotto
06/11/2008 - 01:26 | Informe spam
Hola una vista para chequear restricciones?? guaaa unca lo hubiera pensado
asi !! las vistas no fueron pensadas para eso, las vistas no compilan
planes, las vistas son solo para abtraer una parte de la cosa pero no hacen
magia, usar vistas para insertar registros es una de las peores tecnicas de
programacion que eh visto, para eso inserta en las tablas directamente, a
menos que uses tablas particionadas y las vistas las necesites como punto de
union, sino no tinenen ningun sentido.

Las restricciones con funciones son buenas y aplican bien, para la insercion
de muchos registros (por ejemplo un bulk) por lo general se hace lo que se
denomina una carga rapida lo cual no ejecuta lo check con lo cual tus
problemas de performance no son tal como te los comentan, y si necesitas si
o si ejecutar los check en procesos de carga muy grande hay otras tecnicas
de pasar informacion que lo hacen y de forma totalmente eficiente. Yo tengo
varios clientes que pasan por dia hasta 3gb de txt y funciona rapido,
ejecutando los contraint y sin dejar a nadie fuera, pero como te dije hay
distintas tecnicas para ayudar a esos procesos grandes


Saludos
Maxi Accotto
Microsoft MVP en SQLServer
SQltotalconsulting
-

"juandbp" escribió en el mensaje de
noticias:
On 5 nov, 18:21, Alfredo Novoa wrote:
Hola Alfredo:
Hola Juan Diego,

El Tue, 4 Nov 2008 21:41:07 +0100, Juan Diego Bueno escribió:

> Únicamente recurro a vistas, vistas indexadas, triggers "instead of",
> funciones de usuario para las checks

Lo de las funciones de usuario para las "check" es un truco bastante
sucio
para rodear las limitaciones de SQL en las restricciones de integridad.

Lo malo es que tiene un alto coste en las inserciones de datos por lotes
:-(, así que hay que tener cuidado con esto.



Sí, se que es sucio, pero a mi me vienen de lujo para poder sortear
esas limitaciones, tal como indicas.

En principio, no me han dado guerra en ningún momento, ni siquiera en
inserciones por lotes, las cuales se dan en mi caso, con muy poca
frecuencia.

Supongo que otra opción podría ser "sacar" esas restricciones de la
tabla y chequearlas en la vista que finalmente presento a la
aplicación. Sobre la vista no se va a dar nunca el caso de inserciones
por lotes. Si tengo problemas, supongo que esa podría ser una
solución.

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