Você está na página 1de 61

Traduccin, adaptacin y ejemplos:

Ing. Marco A. Hernndez V.


Diciembre, 2011
Retorna los Emisores por Marca determinada
Cdigo en lenguaje HLL
Definicin

NOTA: No toda la
Carga lgica de programacin
es mostrada
Recupera

Procesa

NOTA: No toda la
Cierra lgica de programacin
es mostrada
Ejemplo: Actualice SALARY para todos los registros en un departamento especifico

Definicin NOTA: No toda la lgica


de programacin es
mostrada

Operacin de lectura de EXFMT recupera nmero de departamento


Carga

Recupera

NOTA: No toda la
lgica de programacin
es mostrada
Procesa

Cierra
NOTA: No toda la
lgica de programacin
es mostrada
Qu es SQL Dinmico?

Es una forma distinta de usar SQL


Sentencias SQL no pre-definidas en el programa
Son creadas dinmicamente sobre la ejecucin de la
lgica del programa
El precompilador SQL no puede procesar
completamente las sentencias SQL creadas
dinmicamente
La sentencia PREPARE es usada en la lgica del
programa para compilar dinmicamente sentencias SQL
Puede ser usada con la sentencia SQL EXECUTE
Qu es SQL Dinmico?

Ofrece un alto grado de flexibilidad a la


aplicacin
Puede crear/construir sentencias SQL
Basado en parmetros recibidos de
Interfaces interactivas con el usuario
Tcnicas de seleccin de listas
Archivos de control
Usa cualquier lenguaje de programacin
Dnde usar SQL dinmico?

Programas de despliegue con el usuario en


tiempo de ejecucin
Archivos
Campos
Criterio de seleccin de registros
Ordenamientos
Construccin de SQL en funciones
Donde quiera que la sintaxis exacta de una
sentencia SQL no pueda ser determinada con
anterioridad.
Se le solicita al usuario ingresar la condicin para el Delete
(variable InpCond)
Dinmicamente selecciona registros del Maestro de Colaboradores
Cualquier campo, registro o secuencia
Consideraciones de Performance

SQL Dinmico puede consumir muchos recursos


Recuerde que una sentencia SQL dinmica es
parseada (interpretada) y ejecutada dentro del
programa que esta siendo llamado
Impacto negativo sobre el performance

selo pero cuidadosamente


Ejecutar:
LIBMHV/REPORT
PAR1(FILEX)
PAR2( SELECT * FROM TCCMDATPRO/TCA301 T1, TCCMDATPRO/TCA300 T2
WHERE T2.TCA300COD = T1.TCA301COD')
PAR3(MHERNANV)
Traduccin, adaptacin y ejemplos:
Ing. Marco A. Hernndez V.

Você também pode gostar