Vista simple vs. Stored Procedure

31/01/2008 - 09:03 por Yuri Aponte | Informe spam
Hola Amigos

Disculpen el texto del asunto pero la verdad no sabia como poner mi duda.

Tengo una vista que me trae los registros de mi tabla clientes, relacionada
con varias tablas para sacar tipos de documento, zonas, etc. Y luego tengo
un SP donde paso algunos parametros para trabajar con esa vista. Esto es lo
normal diria yo.

Pero casi por inercia creo vistas para tablas de solo codigo y descripcion,
asi:

CREATE VIEW dbo.vw_Monedas
AS
SELECT Codigo,Descripcion
FROM dbo.Sys_Tabla_Monedas

y luego creo un SP que seria algo asi

CREATE PROCEDURE sp_Monedas
AS
Select * From vw_Monedas Order By Codigo
GO


Pregunto?, No podria en el mismo SP hacer el Select * de la tabla
directamente?.. Gano algo si tengo una vista y luego un SP. Vuelvo a indicar
que es un acto por inercia que me lleva a crear vistas de mis tablas y luego
los Sp respectivos, pero me he puse a revisar y me tope con esta situacion y
queria algun comentario al respecto.

Gracias anticipadas por las respuestas


Saludos desde Lima, Peru

Yuri Aponte
Analista de Sistemas
yuri(-PUNTO-)aponte(-ARROBA-)apocal(-PUNTO-)com(-PUNTO-)pe

Preguntas similare

Leer las respuestas

#1 Jhonny Vargas P.
31/01/2008 - 14:08 | Informe spam
Hola,

Por lo menos en mi caso, el uso de vistas están dadas cuando se encuentran
en otra base de datos, con esto hago referencia solo a la vista y no tengo
en duro la ruta completa para hacer un simple select, así si cuando quiero
cambiar el nombre de la base de datos, o requiero levantar un respaldo...
solo apunto la vista a la base de datos y no debo corregir ningún SP.

Para tu caso, creo que no tiene sentido usar vistas si están en la misma
base de datos.

Espero te sirva.

Saludos,
Jhonny Vargas P.
http://msmvps.com/jvargas
Santiago de Chile

"Yuri Aponte" <yuri(-PUNTO-)aponte(-ARROBA-)apocal(-PUNTO-)com(-PUNTO-)pe>
escribió en el mensaje de noticias:ecJQ$#
Mostrar la cita
#2 Yuri Aponte
31/01/2008 - 14:19 | Informe spam
Hola Jhonny

Gracias por la respuesta..

Ni siquiera para este caso, que la vista usan relaciones con otras tablas?.

CREATE VIEW dbo.vw_Trabajadores
AS
SELECT dbo.Sys_Trabajadores.*, dbo.Sys_Tabla_T03.Abreviatura AS
TipoDocumento
FROM dbo.Sys_Trabajadores LEFT OUTER JOIN
dbo.Sys_Tabla_T03 ON dbo.Sys_Tabla_T03.Codigo =
dbo.Sys_Trabajadores.codTipoDocumento

CREATE PROCEDURE sp_Trabajadores
/* Devuelve los registros de la vista vw_Trabajadores
RucEmpresa - Para filtrar
Order = 1 - Ordenados por Codigo
Order = 2 - Ordenados por Nombre
*/
(
@Ruc varchar(15),
@Order Int
)
AS
If @Order = 1
Select * From vw_Trabajadores Where NroRUC = @RUC Order By Codigo
If @Order = 2
Select * From vw_Trabajadores Where NroRUC = @RUC Order By
ApellidoPaterno, ApellidoMaterno, Nombres
GO


Gracias por tus comentarios.

Saludos desde Lima, Peru

Yuri Aponte
Analista de Sistemas
yuri(-PUNTO-)aponte(-ARROBA-)apocal(-PUNTO-)com(-PUNTO-)pe

"Jhonny Vargas P." escribió en el mensaje
news:%23$
Mostrar la cita
#3 Jhonny Vargas P.
31/01/2008 - 14:24 | Informe spam
Claro... también puedes usarlas para UNION ALL... u operaciones... pero para
mi caso, prefiero solo cuando se encuentran en otra base de datos, aunque
también las he utilizado cuando se tiene datos historicos en tablas
historias, por ejemplo... movimiento2005, movimiento2006, movimiento2007...
y te piden que solo mantengas los dos ultimos años... solo cambias el
union de la vista y nada más.



Saludos,
Jhonny Vargas P.
http://msmvps.com/jvargas
Santiago de Chile

"Yuri Aponte" <yuri(-PUNTO-)aponte(-ARROBA-)apocal(-PUNTO-)com(-PUNTO-)pe>
escribió en el mensaje de noticias:
Mostrar la cita
#4 Yuri Aponte
31/01/2008 - 14:29 | Informe spam
Excelente, por lo menos medio trabajo no esta perdido :-D

Lo que pasa es que mi entusiamos por empezar a usar SP hizo que cayera en
estas cuestiones.

Aunque eso es lo bueno de trabajar asi, simplemente modifico el SP y listo,
no toco para nada mi codigo :-D

Saludos desde Lima, Peru

Yuri Aponte
Analista de Sistemas
yuri(-PUNTO-)aponte(-ARROBA-)apocal(-PUNTO-)com(-PUNTO-)pe

"Jhonny Vargas P." escribió en el mensaje
news:
Mostrar la cita
#5 Jhonny Vargas P.
31/01/2008 - 14:43 | Informe spam
Pero te recomiendo que independiente de eso...
- siempre piensa en lo que menos debas hacer cuando te pidan un cambio
brusco
- siempre piensa en millones de datos cuando crees un sp... y revises
tiempos, procesos, bloqueos, etc.
- revisa el comportamiento con muchos usuarios concurrentes.

De todas maneras es solo una opinión personal que he visto con solo la
experiencia en los puntos que te he dicho, puede ser que no sean las más
adecuadas.

Saludos,
Jhonny Vargas P.
http://msmvps.com/jvargas
Santiago de Chile


"Yuri Aponte" <yuri(-PUNTO-)aponte(-ARROBA-)apocal(-PUNTO-)com(-PUNTO-)pe>
escribió en el mensaje de noticias:#lxb$
Mostrar la cita
Ads by Google
Search Busqueda sugerida