Saltar al contenido

¿Cuál es la diferencia entre un procedimiento almacenado y una vista?

Solución:

Una vista representa un virtual mesa. Puede unir varias tablas en una vista y usar la vista para presentar los datos como si vinieran de una sola tabla.

Un procedimiento almacenado usa parámetros para realizar una función … ya sea que esté actualizando e insertando datos, o devolviendo valores únicos o conjuntos de datos.

Creación de vistas y procedimientos almacenados: tiene información de Microsoft sobre cuándo y por qué usar cada uno.

Digamos que tengo dos mesas:

  • tbl_user, con columnas: user_id, user_name, user_pw
  • tbl_profile, con columnas: profile_id, user_id, profile_description

Entonces, si me encuentro consultando desde esas tablas MUCHO … en lugar de hacer la combinación en CADA pieza de SQL, definiría una vista como:

CREATE VIEW vw_user_profile
AS
  SELECT A.user_id, B.profile_description
  FROM tbl_user A LEFT JOIN tbl_profile B ON A.user_id = b.user_id
GO

Por lo tanto, si quiero consultar profile_description por user_id en el futuro, todo lo que tengo que hacer es:

SELECT profile_description FROM vw_user_profile WHERE user_id = @ID

Ese código podría usarse en un procedimiento almacenado como:

CREATE PROCEDURE dbo.getDesc
    @ID int
AS
BEGIN
    SELECT profile_description FROM vw_user_profile WHERE user_id = @ID
END
GO

Entonces, más tarde, puedo llamar:

dbo.getDesc 25

y obtendré la descripción de user_id 25, donde el 25 es su parámetro.

Obviamente, hay muchos más detalles, esta es solo la idea básica.

Mucha información disponible aquí

Aquí hay un buen resumen:

Un procedimiento almacenado:

  • Acepta parámetros
  • Poder NO ser utilizado como bloque de construcción en una consulta más grande
  • Puede contener varias declaraciones, bucles, IF ELSE, etc.
  • Puede realizar modificaciones a una o varias tablas
  • NO se puede utilizar como destino de una instrucción INSERT, UPDATE o DELETE.

Una vista:

  • Lo hace NO aceptar parámetros
  • Puede usarse como bloque de construcción en una consulta más grande
  • Puede contener solo una única consulta SELECT
  • Poder NO realizar modificaciones a cualquier tabla
  • Pero (a veces) se puede utilizar como destino de una instrucción INSERT, UPDATE o DELETE.

Primero debes entender que ambos son cosas diferentes. Stored Procedures se utilizan mejor para INSERT-UPDATE-DELETE declaraciones. Mientras que Views se utilizan para SELECT declaraciones. Deberías usar ambos.

En las vistas no puede alterar los datos. Algunas bases de datos tienen vistas actualizables donde puede usar INSERT-UPDATE-DELETE sobre Views.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *