Procedimientos Almacenados.pptx

Embed Size (px)

Citation preview

  • 7/23/2019 Procedimientos Almacenados.pptx

    1/21

    BASE DE DATOS

    Profesores del Curso 2015 I

  • 7/23/2019 Procedimientos Almacenados.pptx

    2/21

    Al trmino de la unidad, el alumnoimplementa instrucciones SQL y deproramaci!n mediante procedimientosalmacenados para optimi"ar las

    operaciones en la #ase de datos$

    Logro

  • 7/23/2019 Procedimientos Almacenados.pptx

    3/21

    Procedimientos almacenadosutilizando una tabla

    Curso% Base de Datos (Lab)

    &'uipo de Profesores del Curso

  • 7/23/2019 Procedimientos Almacenados.pptx

    4/21

    Introducci!n a (SQL

    )aria#les *(ipo+

    Procedimientos Almacenados

    Temario

  • 7/23/2019 Procedimientos Almacenados.pptx

    5/21

    VARIABLES

    Una variable es una entidad a la que se asigna un

    valor. Este valor puede cambiar durante el

    proceso donde se utiliza la variable. SQL Server

    tiene dos tipos de variables: locales y globales. Las variables locales estn definidas por el

    usuario, mientras que las variables globales las

    suministra el sistema y estn predefinidas.

  • 7/23/2019 Procedimientos Almacenados.pptx

    6/21

    VARIABLES LOCALES

    Las variables locales se declaran, nombran yescriben mediante la palabra clave declare, y

    reciben un valor inicial mediante una instruccin

    selecto set. Los nombres de las variables locales deben

    empezar con el smbolo @. ! cada variable

    local se le debe asignar un tipo de dato definido

    por el usuario o un tipo de dato suministrado porel sistema distinto de text, imageo sysname.

  • 7/23/2019 Procedimientos Almacenados.pptx

    7/21

    VARIABLES LOCALES

    Sintais--declara una variable

    Declare@variable

    -- asigna valor a una variable

    Set@variable=valor

  • 7/23/2019 Procedimientos Almacenados.pptx

    8/21

    VARIABLES LOCALES

    &-emplo 1declare.preciomoneySet.precio /50S&L&C( 34Productos6&&precio7nidad8 .precio9o

    E"emplo #declare.precio1money, .precio2moneySet.precio1/10Set .precio2/50S&L&C( 34Productos

    6&&precio7nidad:&(&&;.precio1 A;

  • 7/23/2019 Procedimientos Almacenados.pptx

    9/21

    PROCEDIMIETOSALMACEADOS

    Los procedimientos almacenados son grupos

    formados por instrucciones SQL y el lengua"e de

    control de flu"o. $uando se e"ecuta un

    procedimiento, se prepara un plan de e"ecucinpara que la subsiguiente e"ecucin sea muy

    rpida.

  • 7/23/2019 Procedimientos Almacenados.pptx

    10/21

    PROCEDIMIETOSALMACEADOS

    Los procedimientos almacenados pueden: %ncluir parmetros Llamar a otros procedimientos &evolver un valor de estado a un procedimiento de

    llamada o lote para indicar el '(ito o el fracaso delmismo y la razn de dic)o fallo.

    &evolver valores de parmetros a un procedimiento

    de llamada o lote E"ecutarse en SQLServerremotos

  • 7/23/2019 Procedimientos Almacenados.pptx

    11/21

    PROCEDIMIETOSALMACEADOS

    Los procedimientos almacenados se crean con

    CREATE PROCEDURE. *ara e"ecutar un

    procedimiento almacenado, ya sea un

    procedimiento del sistema o uno definido por elusuario, use el comando EXECUTE. +ambi'n,

    puede utilizar el nombre del procedimiento

    almacenado solo, siempre que sea la primera

    palabra de una instruccin o lote.

  • 7/23/2019 Procedimientos Almacenados.pptx

    12/21

    PROCEDIMIETOSALMACEADOS

    La sinta(is para crear un procedimiento

    almacenado:

    C&A(& P3C&;ame8

    ?? A@adir parmetros al procedimiento almacenado =.Param18 =or>Param18 /=)alue>or>Param18, =.Param28 =or>Param28 /=)alue>or>Param28AS

    :&9I; ?? Insertar la sentencia para el procedimiento Sentencia SQL&;P3C&

  • 7/23/2019 Procedimientos Almacenados.pptx

    15/21

    PROCEDIMIETOSALMACEADOS

    E"emplo 4: $rear un procedimiento almacenadoque liste los clientes de tipo #.

    ;;procedimiento almacenado$0E!+E*0-$E&U0Eusp1$lientes3tipo c)ar)eretipo$li7 3tipo

    ?o

    *ara e"ecutar el procedimiento almacenado

    ;;e"ecutando el procedimiento almacenadoE@E$usp1clientes #go

  • 7/23/2019 Procedimientos Almacenados.pptx

    16/21

    PROCEDIMIETOS ALMACEADOS

    E"emplo #: $ree un procedimiento almacenado que

    realizamos la consulta de pedidos entre un rango de dosfec)as.

    $0E!+E *0-$E&U0Eusp1*edidos(6ec)as3f4&ate,

    3f#&ate!99electA6rompedidoscabe>)ere6ec)a*edido/E+>EE3f4!&3f#

    ?o

    ;;e"ecutando el procedimiento almacenadoE@E$usp>Pedidosecas D1E1E201FG , G1HE02E201FGgo

  • 7/23/2019 Procedimientos Almacenados.pptx

    17/21

    PROCEDIMIETOS ALMACEADOS

    La sentencia ALTER PROCEDURE permite modificar el

    contenido del procedimiento almacenado, en este

    procedimiento realizamos la consulta de pedidos entre un

    rango de dos fec)as.

    !L+E0*0-$E&U0Eusp1*edidosby6ec)as3f4&ate, 3f#&ate , 3cod$li int

    !99electA6rompedidoscabe

    >)ere6ec)a*edido/E+>EE3f4!&3f# !& codCli/ .codCli

    ?o

  • 7/23/2019 Procedimientos Almacenados.pptx

    18/21

    MODI"ICAR DATOS COPROCED!RES

    Los procedimientos almacenados pueden aceptardatos como parmetros de entrada y pueden

    devolver datos como parmetros de salida,

    con"untos de resultados o valores de retorno.

    !dicionalmente, los procedimientos almacenadospueden e"ecutar sentencias de actualizacin de

    datos: %9E0+, U*&!+E, &ELE+E

  • 7/23/2019 Procedimientos Almacenados.pptx

    19/21

    MODI"ICAR DATOS COPROCED!RES

    &efina un procedimiento almacenado para insertarun registro de la tabla $lientes, en este

    procedimiento definiremos parmetros de entrada

    que representan los campos de la tabla.

    $0E!+E*0-$E&U0Eusp1%nserta$liente3idvarc)ar

  • 7/23/2019 Procedimientos Almacenados.pptx

    20/21

    MODI"ICAR DATOS COPROCED!RES

    !l e"ecutar el procedimiento almacenado, seenviar la lista de los parmetros definidos en el

    procedimiento.

    E@E$usp1%nserta$liente!/$&E,FU! $!0L-9 E&%!,$alle #B o 4#D,CCG,BHBCBBB

    ?o

  • 7/23/2019 Procedimientos Almacenados.pptx

    21/21

    #4

    "I DE LA

    SESIO#racias$$$$