Módulo 3: Procedimientos Almacenados

microsoft-azure-logo

Objetivo del curso: Ayudar a quienes deseen aprender a generar aplicaciones WPF con enlace a bases de datos en Azure de una manera en la que no sea requerido un conocimiento previo en el tema utilizando lenguaje coloquial para quienes inician recién en el mundo de la programación utilizando C# como lenguaje de programación y SQL Server.

Objetivo general: Desarrollar un sistema que permita llevar el seguimiento de peso y estatura de alumnos.

Objetivo del tutorial: Conocer los procedimientos almacenados, cuántos tipos distintos hay y que ventajas nos ofrecen a la hora de utilizarlos.

Requerimientos:

  • Cuenta de Azure
  • SQL Server 2012 o posterior
  • Base de datos previamente creada en el video anterior
  • Tabla registroalumno creada en el video tutorial anterior

¿Qué son los procedimientos almacenados?

Un procedimiento almacenado de SQL Server es un grupo de una o varias instrucciones, estos se asemejan a las construcciones de otros lenguajes de programación, porque pueden:

  • Aceptar parámetros de entrada y devolver varios valores en forma de parámetros de salida al programa que realiza la llamada.
  • Contienen instrucciones de programación que realicen operaciones en la base de datos.
  • Devuelven un valor de estado a un programa que realiza una llamada para indicar si la operación se ha realizado correctamente o se han producido errores, y el motivo de estos.

Ventajas que estos nos ofrecen

  • Tráfico de red reducido entre el cliente y el servidor
  • Mayor seguridad
  • Los procedimientos pueden cifrarse, lo que ayuda a ofuscar el código fuente.
  • Mantenimiento más sencillo
  • Rendimiento mejorado ya que se compila la primera vez que se ejecuta

Tipos de procedimientos almacenados

Definidos por el usuario: Se puede crear en una base de datos definida por el usuario o en todas las bases de datos del sistema excepto en la base de datos Resource .

Temporales: Los procedimientos temporales son iguales que los procedimientos permanentes salvo porque se almacenan en tempdb. Existen dos tipos locales y globales.

  • Locales su nombre inicia con # y solo son visibles en la conexión actual del usuario y se eliminan cuando se cierra la conexión.
  • Globales su nombre inicia con ## solo son visibles en la conexión actual del usuario y se eliminan cuando se cierra la conexión.

Sistema: Los procedimientos del sistema se incluyen con SQL Server. Están almacenados físicamente en la base de datos interna y oculta Resource y se muestran de forma lógica en el esquema sys de cada base de datos definida por el sistema y por el usuario.

Extendidos por el usuario: Estos procedimientos son DLL que una instancia de SQL Server puede cargar y ejecutar dinámicamente.

Declarando un procedimiento almacenado en nuestra tabla

Para definir un procedimiento almacenado utilizamos la siguiente sintaxis:

USE [BASE_DATOS]

GO

CREATE PROCEDURE [NOMBRE_PROCEDIMIENTO]

@CAMPO_RECIBE [TIPO_VARIABLE],

AS

BEGIN

[SENTENCIA(S) A EJECUTAR]

END

GO

Ejemplo:

Use tutorial2017

GO

create procedure registrousuariocurso

@nombre varchar(50),

@apellido1 varchar(50),

@apellido2 varchar(50),

@sexo char(1),

@edad int,

@peso float,

@estatura float

AS

BEGIN

insert into registroalumno (nombre,apellido1,apellido2,sexo,edad,peso,estatura) values (@nombre,@apellido1,@apellido2,@sexo,@edad,@peso,@estatura)

end

go

Llamando el procedimiento almacenado desde SQL Azure

Sintaxis:

DECLARE @VARIABLE [TIPO]

EXEC @VARIABLE = [DBO].[NOMBRE_PROCEDIMIENTO]

@VARIABLES = [VALOR]

SELECT [ESTATUS] = @VARIABLE

GO

Ejemplo

declare @respuesta int

exec @respuesta = [dbo].[registrousuariocurso]

@nombre = ‘Junaita’,

@apellido1=’Lopez’,

@apellido2=’Rodriguez’,

@sexo=’F’,

@edad=10,

@peso=40,

@estatura=50

select ‘estatus’ = @respuesta

go

 Curso completo

 

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s