Está en la página 1de 31

RECUPERANDO Y MOSTRANDO DATOS

SENTENCIA FIND:

ESTA SENTENCIA LOCALIZA UN SOLO REGISTRO DE UNA TABLA Y COPIA LOS DATOS EN EL RECORD BUFFER (MEMORIA TEMPORAL).
SINTAXIS: FIND [ FIRST | LAST | NEXT | PREV ] record [constant] FIRST.- ENCUENTRA EL PRIMER REGISTRO EN LA TABLA QUE SATISFACE UN CRITERIO. LAST.- ENCUENTRA EL LTIMO REGISTRO EN UNA TABLA QUE SATISFACE UN CRITERIO. NEXT.- ENCUENTRA EL SIGUIENTE REGISTRO DE UNA TABLA QUE SATISFACE UN CRITERIO. PREV.- ENCUENTRA EL REGISTRO PREVIO EN LA TABLA QUE SATISFACE UN CRITERIO. record.- IDENTIFICACIN DEL REGISTRO A BUSCAR. constant.- ES EL VALOR DEL NDICE PRIMARIO DEL REGISTRO A BUSCAR.

EJEMPLOS:

ESTE PROCEDIMIENTO MUESTRA UN EJEMPLO DE LA INSTRUCCIN FIND USANDO UNA CONSTANTE. LA CONSTANTE UTILIZA EL NDICE PRIMARIO DE LA TABLA ITEM EL CUAL ES ItemNum. DE TAL FORMA QUE SE DESPLEGAR EL ARTCULO CON ItemNum 1

EL SIGUIENTE CDIGO ES SIMILAR EN EL RESULTADO AL ANTERIOR SLO QUE AHORA SE UTILIZAR LA INSTRUCCIN FIND Y SU CALIFICADOR FIRST PARA RECUPERAR UN SLO REGISTRO (EL PRIMERO).

SIN EMBARGO AL EJECUTAR EL PROGRAMA, APARECER UN MENSAJE QUE INDICA QUE EXISTEN MS DE UN REGISTRO Y ESTO PROVOCAR UN ERROR RAZN:

EN EL SIGUIENTE EJEMPLO, SE INTENTA MOSTRAR UN GRUPO DE ARTCULOS

LA INSTRUCCIN FIND SE UTILIZA PARA LOCALIZAR UN SOLO REGISTRO A LA VEZ. LA SOLUCIN SE VER MS ADELANTE.

RECUPERANDO Y MOSTRANDO DATOS


CADA VEZ QUE HAS DETERMINADO QUE REGISTRO SE MOSTRAR, TU PUEDES: DESPLEGAR CADA REGISTRO EXISTENTE EN LA MEMORIA CON SLO ESPECIFICAR EL NOMBRE DEL REGISTRO. DESPLEGAR SLO ALGUNOS DE LOS CAMPOS DEL REGISTRO UTILIZANDO LA OPCIN EXCEPT. NOTA: DISPLAY.- NO EST LIMITADO PARA MOSTRAR LOS REGISTROS, TAMBIN PUEDE SER UTILIZADO PARA MOSTRAR EXPRESIONES, CONSTANTES, VARIABLES O CADENAS DE CARACTERES. EJEMPLOS:

EL EJEMPLO MUESTRA LA EJECUCIN DE UN PROCEDIMIENTO QUE MUESTRA EL PRIMER REGISTRO DE LA TABLA ITEM DEL CUAL SLO QUEREMOS VER SU: ITEMNUM ITEMNAME PRICE CATEGORY1 CATEGORY2

EL EJEMPLO MUESTRA LA EJECUCIN DE UN PROCEDIMIENTO QUE MUESTRA EL PRIMER REGISTRO DE LA TABLA ITEM DEL CUAL NO QUEREMOS MOSTRAR ALGUNOS CAMPOS.

LOS SIGUIENTES EJEMPLOS MUESTRAN DIVERSAS FORMAS DE UTILIZAR LA INSTRUCCIN DISPLAY

IMPRESIN DE LOS VALORES DE UNA EXPRESIN

IMPRESIN DE UNA CADENA DE CARACTERES

INTRODUCIENDO DATOS
PROGRESS PERMITE AL USUARIO INTRODUCIR DATOS AL MONITOR (SCREEN BUFFER) PARA ELLO SE UTILIZA LA INSTRUCCIN PROMPT-FOR.

STA INSTRUCCIN NO GENERA NINGN CAMBIO EN LOS CAMPOS DE LA BASE DE DATOS.


SINTAXIS:

PROMPT-FOR { variable }

LA FUNCIN INPUT ES USADA PARA RECUPERAR UN VALOR DEL PROMPT-FOR GENERADO EN EL SCREEN BUFFER EJEMPLO:

EL SIGUIENTE EJEMPLO TRATA QUE EL USUARIO INTRODUSCA EL VALOR DEL NUMERO DE CLIENTE PARA DESPLEGAR NOMBRE Y SU NMERO.

PROGRAMA EN EJECUCIN

VARIANTE DEL PROGRAMA ANTERIOR

PROGRAMA EN EJECUCIN

CICLOS CON LA SENTENCIA REPEAT


LA SENTENCIA REPEAT INICIA UN BLOQUE DE SENTENCIAS QUE SE PROCESAN REPETIDAMENTE, ESTE BLOQUE SE CONTINUA PROCESANDO HASTA QUE RETORNA EL LTiMO REGISTRO EXISTENTE. UN BLOQUE CON ESTA SENTENCIA TAMBIN PUEDE TERMINAR CON UNA CONDICIN DE PROGRAMACIN ESTO EVITAR TENER CICLOS INFINITOS. SINTAXIS

REPEAT:
END.

<SENTENCIAS>

EJEMPLO:

ESTE EJEMPLO BUSCAR TODOS LOS ARTCULOS EXISTENTES Y MOSTRAR:


ITEMNUM ITEMNAME PRICE

PROGRAMA EN EJECUCIN

USO DE LA SENTENCIA AVAILABLE


QUE ES EL AVAILABLE? ES UNA FUNCIN QUE VERIFICA QUE EL REGISTRO EXISTA EN EL RECORD BUFFER. ESTA RETORNA VERDADERO SI EL BUFFER CONTIENE UN REGISTRO. SU USO SE JUSTIFICA YA QUE EN OCASIONES ES NECESARIO SABER QUE UN REGISTRO EXISTE ANTES DE REALIZAR UNA ACTIVIDAD. SINTAXIS AVAILABLE record EJEMPLO:

EN ESTE EJEMPLO SE INTENTA RECUPERAR UN ARTCULO NO EXISTENTE NOTA: NO-ERROR FORZA LA MANIPULACIN DEL ERROR, ESTO HACE QUE LA INSTRUCCIN IF AVAILABLE SE EJECUTE

USO DE LA SENTENCIA LEAVE


LA SENTENCIA LEAVE ABANDONAR UN BLOQUE DE ITERACIONES A MENOS QUE SE ESPECIFIQUE LO CONTRARIO. SI LEAVE NO SE ENCUENTRA DENTRO DE UN BOQUE DE ITERACIONES, ENTONCES SE ABANDONAR EL PROCEDIMIENTO. EJEMPLO:

ESTE EJEMPLO MUESTRA EL USO DE LA INSTRUCCIN LEAVE PARA ABANDONAR UN BLOQUE DE ITERACIONES

LECTURA DE UN CONJUNTO DE REGISTROS


PARA LEER UN CONJUNTO DE REGISTROS Y COLOCARLOS EN EL RECORD BUFFER SE UTILIZA LA INSTRUCCIN FOR EACH. EL FOR EACH RETORNA UN NUEVO REGISTRO AL RECORD BUFFER CADA VEZ QUE REALIZA UNA ITERACIN. SINTAXIS FOR EACH frase-registro: END.

<sentencias>

frase-registro: IDENTIFICA LOS REGISTROS QUE SE QUIERAN RECUPERAR.

EJEMPL O:

ESTE EJEMPLO UTILIZA LA INSTRUCCIN FOR EACH PARA RECUPERAR REGISTROS DE LA TABLA ARTCULOS

EJECUCIN DEL PROGRAMA

SELECCIONANDO REGISTROS CON LA CLAUSULA WHERE


SI SE NECESITA ESPECIFICAR UN SUBCONJUNTO DE REGISTROS QUE SE QUIEREN SELECCIONAR SE UTILIZA LA SENTENCIA WHERE. ESTA SENTENCIA SE USA CON LAS INSTRUCCIONES FIND O FOR EACH PARA ESPECIFICAR UN CRITERIO DE SELECCIN DE REGISTROS. SINTAXIS WHERE expresion NOMBRES DE CAMPOS, VARIABLES, FUNCIONES Y OPERADORES. LA EXPRESIN SIEMPRE SE EVALUA A UN VALOR BOOLEANO.

expresion EN LA CLAUSULA WHERE PUEDE CONTENER CONSTANTES,

EJEMPLO:

ESTE EJEMPLO UTILIZA LA INSTRUCCIN FOR EACH ADEMS DE LA CLAUSULA WHERE PARA RECUPERAR SOLO ALGUNOS DE LOS REGISTROS DE LA TABLA ARTCULOS ESPECIFICADOS POR EL CRITERIO DE BSQUEDA.

PROGRAMA EN EJECUCIN

ESTE EJEMPLO UTILIZA LA INSTRUCCIN FOR EACH ADEMS DE LA CLAUSULA WHERE Y UN CONDICIONAL PARA RECUPERAR SOLO ALGUNOS DE LOS REGISTROS DE LA TABLA ARTCULOS ESPECIFICADOS POR EL CRITERIO DE BSQUEDA.

PROGRAMA EN EJECUCIN

USO DE OPERADORES DE LA CLAUSULA WHERE


AHORA QUE SABES COMO UTILIZAR LA CLAUSULA WHERE PARA ESPECIFICAR UN SUBCONJUNTO DE REGISTROS, TAL VEZ NECESITES REDUCIR AUN MS EL TAMAO DE UN SUBCONJUNTO, PROGRESS PROPORCIONA ALGUNAS MANERAS PARA HACER ESTO. BEGINS MATCHES

COMPARANDO BEGINS Y MATCHES


COMPARACIN
BUSQUEDA SOBRE TIPOS DE CAMPOS USO DE OR EN EL INTERIOR DEL PATRN DE BSQUEDA USO DE COMODINES

BEGINS
CUALQUIER CARCTER DEL CAMPO NO NO

MATCHES
CUALQUIER CARCTER DEL CAMPO NO ASTERISCO ( * ) O PUNTO ( . ) AN CUALQUIER LUGAR DEL PATRN LENTO

DESEMPEO

RPIDO SOBRE CAMPOS INDEXADOS EN CUALQUIER OTRO LENTO

PROGRAMA EN EJECUCIN EJEMPLO CON BEGINS EN DONDE LOS ARTCULOS INICIAN CON LA LETRA S

PROGRAMA EN EJECUCIN

EJEMPLO CON MATCHES EN DONDE LOS ARTCULOS INICIAN CON LAS LETRAS SK* Y EN DONDE EL ( * ) SIGNIFICA CUALQUIER OTRA COSA.

ORDENANDO REGISTROS SELECCIONADOS


PROGRESS RECUPERA REGISTROS EN EL ORDEN EN QUE EL NDICE SE ENCUENTRE DENTRO DE LA TABLA Y QUE ADEMS SATISFAGA LA CLAUSULA WHERE, PROGRESS UTILIZA EL NDICE PRIMARIO PARA ORDENAR. SIN EMBARGO HABR OCASIONES EN QUE SE DESEE UTILIZAR DIFERENTES TIPOS DE ORDENACIN. LA OPCIN BY TE PERMITIR REALIZAR ESTO. SINTAXIS BY expression [DESCENDING] EJEMPLO:

PROGRAMA EN EJECUCIN EJEMPLO CON MATCHES EN DONDE LOS ARTCULOS INICIAN CON LAS LETRAS SK* Y EN DONDE EL ( * ) SIGNIFICA CUALQUIER OTRA COSA, ADEMS LA INFORMACIN SE ORDENAR EN FORMA DESCENDENTE EN EL PRECIO.

EJERCICIOS
REALIZA LOS PROCEDIMIENTOS PERTINENTES PARA GENERAR LOS SIGUIENTES INFORMES: 1.- PARA MOSTRAR TODOS LOS NOMBRES DE LOS CLIENTES Y SUS CIUDADES.

2.- PARA MOSTRAR A LOS NOMBRES DE LOS CLIENTES Y SUS PAISES PERO DE AQUELLOS QUE NO SON DE USA.
3.- PARA MOSTRAR EL NMERO DE ORDEN, LA FECHA DE ENVIO Y LA TARJETA DE CRDITO PARA AQUELLAS ORDENES DE PRODUCTOS ENVIADAS DESPUES DEL 6/1/98 4.- PARA MOSTRAR EL NOMBRE DEL CLIENTE, SU BALANCE, SU PAS, SU CIUDAD, SU ESTADO Y SU TELFONO PARA AQUELLOS CLIENTES CON UN BALANCE DE AL MENOS $30,000,00. Y ORDENADOS EN FORMA DESCENDENTE. 5.- PARA CUANDO EL USUARIO INTRODUZCA EL NUMERO DEL EMPLEADO MUESTRE LOS SIGUIENTES DATOS PARA TODOS LOS NUMEROS DE EMPLEADO MAYORES AL DATO INTRODUCIDO: MOSTRAR EL NOMBRE DE LOS EMPLEADOS, SUS APELLIDOS PATERNOS Y MATERNOS, SUS DIRECCIONES SUS CIUDADES Y ESTADOS ORDENADOS EN FORMA DESCENDENTE EN EL NOMBRE.

EJEMPLOS

EJERCICIOS (2)
REALIZA LOS PROCEDIMIENTOS PERTINENTES PARA GENERAR LOS SIGUIENTES INFORMES, UTILIZA LAS INSTRUCCIONES PERTINENTES PARA DARLES UNAPRESENTACIN ADECUADA: 1.- PARA CUANDO EL USUARIO INTRODUZCA EL NUMERO DEL ARTCULO SE MUESTRE: EL NOMBRE DEL ARTCULO, SU PRECIO, EL NMERO DE ESTANTE EN EL CUAL SE ENCUENTRA ALMACENADO, LA DESCRIPCIN DEL ARTCULO, SU PESO, Y SUS CATEGORAS ORDENADOS POR SU PRECIO EN FORMA ASCENDENTE.

2.- PARA CUANDO EL USUARIO INTRODUZCA EL NUMERO DEL EMPLEADO MUESTRE LOS SIGUIENTES DATOS PARA TODOS LOS NUMEROS DE CLIENTES MAYORES AL DATO INTRODUCIDO: MOSTRAR EL NOMBRE DE SUS FAMILIARES AS COMO SU PARENTESCO Y LA FECHA DE CUMPLEAOS DE STE, ORDENADOS EN FORMA DESCENDENTE EN LA FECHA DE CUMPLEAOS.

También podría gustarte