Tema 10
Upcoming SlideShare
Loading in...5
×
 

Tema 10

on

  • 300 views

 

Statistics

Views

Total Views
300
Views on SlideShare
300
Embed Views
0

Actions

Likes
0
Downloads
1
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Tema 10 Tema 10 Document Transcript

  • BASE DE DATOS INGENIERIA DE SISTEMAS CONSTRUCTORES DE CONTROL DE FLUJOVariables :Una variable local es un objeto que contiene un valor individual de datos de un tipoespecífico. Normalmente, las variables se utilizan en lotes y secuencias de comandos: •Como contadores, para contar el número de veces que se realiza un bucle o controlar cuántas veces debe ejecutarse. •Para contener un valor de datos que desea probar mediante una instrucción de control de flujo. •Para guardar el valor de un dato que se va a devolver en un código de retorno de un procedimiento almacenadoDeclarar variables locales con DECLAREDECLARE Nombre_Variable Tipo_DatoEste comando se usa para declarar variables locales. Para proporcionar un valor pordefecto para la variable, incluya una cláusula DEFAULT . El valor puede especificarsecomo expresión, no necesita ser una constante. Si la cláusula DEFAULT no está presente, elvalor inicial es NULL.La visibilidad de una variable local es dentro del bloque BEGIN ... END donde estádeclarado. Puede usarse en bloques anidados excepto aquéllos que declaren una variablecon el mismo nombre. ING. IVAN IMAN AGURTO
  • BASE DE DATOS INGENIERIA DE SISTEMASSentencia SET para variablesSET Nombre_Variable = ValorEl comando SET en procedimientos almacenados es una versión extendida del comandogeneral SET. Las variables referenciadas pueden ser las declaradas dentro de una rutina, ovariables de servidor globales.El comando SET en procedimientos almacenados se implementa como parte de lasintaxis SET pre-existente. Esto permite una sintaxis extendida de SET a=x, b=y. dondedistintos tipos de variables (variables declaradas local y globalmente y variables de sesióndel servidor) pueden mezclarse. Esto permite combinaciones de variables locales yalgunas opciones que tienen sentido sóloLa sentencia SELECT ... INTOSELECT Nombre_Campo,... INTO Nombre_Variable ,... from Nombre_TablaEsta sintaxis SELECT almacena columnas seleccionadas directamente en variables. Porlo tanto, sólo un registro puede retornarse.SELECT id, data INTO x,y FROM test.t1 LIMIT 1; ING. IVAN IMAN AGURTO
  • BASE DE DATOS INGENIERIA DE SISTEMASConstructores de control de flujoLos constructores IF, CASE, LOOP, WHILE, ITERATE, y LEAVE están completamenteimplementados.Estos constructores pueden contener un comando simple, o un bloque de comandosusando el comando compuesto BEGIN ... END. Los constructores pueden estar anidados.Los bucles FOR no están soportadosSentencia IFIF <condicion> THENProceso 1 ELSEIF <condicion 2> THEN Proceso 2 ELSE Proceso 3END IFIF implementa un constructor condicional básico. Si <condición > se evalúa a cierto, elcomando SQL correspondiente listado se ejecuta. Si no coincide ninguna <condicion>se ejecuta el comando listado en la cláusula ELSE. <Proceso> puede consistir en varioscomandos.La sentencia CASECASE case_value WHEN when_value THEN statement_list WHEN when_value THEN statement_list ELSE statement_listEND CASEO: ING. IVAN IMAN AGURTO
  • BASE DE DATOS INGENIERIA DE SISTEMASCASE WHEN search_condition THEN statement_list WHEN search_condition THEN statement_list ELSE statement_listEND CASEEl comando CASE para procedimientos almacenados implementa un constructorcondicional complejo. Si una search_condition se evalúa a cierto, el comando SQLcorrespondiente se ejecuta. Si no coincide ninguna condición de búsqueda, el comando enla cláusula ELSE se ejecuta.Sentencia LOOP[begin_label:] LOOP statement_listEND LOOP [end_label]LOOP implementa un constructor de bucle simple que permite ejecución repetida decomandos particulares. El comando dentro del bucle se repite hasta que acaba el bucle,usualmente con un comando LEAVE .Un comando LOOP puede etiquetarse. end_label no puede darse hasta que esté presentebegin_label , y si ambos lo están, deben ser el mismo.Sentencia LEAVELEAVE labelEste comando se usa para abandonar cualquier control de flujo etiquetado. Puede usarsecon BEGIN ... END o bucles. ING. IVAN IMAN AGURTO
  • BASE DE DATOS INGENIERIA DE SISTEMASLa setencia ITERATEITERATE labelITERATE sólo puede aparecer en comandos LOOP, REPEAT, y WHILE . ITERATEsignifica “vuelve a hacer el bucle.”Sentencia REPEAT[begin_label:] REPEAT statement_listUNTIL search_conditionEND REPEAT [end_label]El comando/s dentro de un comando REPEAT se repite hasta que la condiciónsearch_condition es cierta.Un comando REPEAT puede etiquetarse. end_label no puede darse a no ser quebegin_label esté presente, y si lo están, deben ser el mismo.Sentencia WHILE[begin_label:] WHILE search_condition DO statement_listEND WHILE [end_label]El comado/s dentro de un comando WHILE se repite mientras la condiciónsearch_condition es cierta.Un comando WHILE puede etiquetarse. end_label no puede darse a no ser quebegin_label también esté presente, y si lo están, deben ser el mismo. ING. IVAN IMAN AGURTO
  • BASE DE DATOS INGENIERIA DE SISTEMASVamos a utilizar las tablas producto y categoría de la base de datos ventasEjemplos 1:Elaborar un procedimiento almacenado que permita insertar un registro a la tablacategoría el id categoría se debe autogenerar considerando la primera letra la letra c y uncorrelativo de 4 dígitos, la descripción debe ser ingresada. ING. IVAN IMAN AGURTO
  • BASE DE DATOS INGENIERIA DE SISTEMAS ING. IVAN IMAN AGURTO
  • BASE DE DATOS INGENIERIA DE SISTEMASEjemplo 2: Elaborar un procedimiento almacenado que permita insertar un registro a latabla producto se debe insertar el improducto, nombre, precio, stock y la descripción de lacategoría. ING. IVAN IMAN AGURTO
  • BASE DE DATOS INGENIERIA DE SISTEMAS ING. IVAN IMAN AGURTO
  • BASE DE DATOS INGENIERIA DE SISTEMAS ING. IVAN IMAN AGURTO