Sql Embebido

Páginas: 12 (2823 palabras) Publicado: 29 de noviembre de 2012
SQL Embebido

Introducción (I)

z SQL directo (o interactivo): las instrucciones se
ejecutan directamente desde el terminal y el resultado
de las consultas se visualiza en el monitor de la
estación.
z SQL embebido: utilizado intercalando sus instrucciones
en el código de un programa escrito en un lenguaje de
programación al que se denomina lenguaje anfitrión
(FORTRAN, COBOL, C, etc.).2

Introducción (II)
z La forma de construir un programa con SQL
embebido varía dependiendo del lenguaje y
el gestor de BD utilizados
z Nosotros estudiaremos el caso de SQL
embebido en C contra Oracle.
z Oracle ha definido un lenguaje especial para
soportar este tipo de programación: lenguaje
Pro*C
3

Introducción (III)

z SQL embebido en
Oracle: Proceso de
compilación yenlazado
(link) de un programa
Pro*C

4

Introducción (IV)
z Estructura de un programa Pro*C:
Inclusión de cabeceras
Declaración de variables
Declaración de VARIABLES huésped
Comienzo del código del programa
...
Instrucciones propias del lenguaje
...
CONEXIÓN con la base de datos
...
Instrucciones de SQL: DML, DDL
+
Instrucciones propias del lenguaje
...
DESCONEXIÓN de la base dedatos
...
Instrucciones propias del lenguaje
...
Fin del código de programa
5

Índice:
z Sintaxis general de las instrucciones básicas
de SQL embebido
z Sentencias básicas de SQL embebido:
{ Declaración de variables
{ Control de errores
{ Conexión /desconexión de la base de datos
{ Consultas (sentencias select)
{ Sentencias de modificación de datos: (insert,
update,delete)
{Sentencias de modificación de la BD (create, …)
{ Ejecución de sentencias SQL a partir de strings:
SQL dinámico.
6

Sintaxis general de las sentencias de
SQL embebido (I)
z En general, cualquier instrucción del SQL interactivo se puede
utilizar en el SQL embebido con pequeñas variaciones
sintácticas.
z Existen, además, instrucciones específicas del SQL para la
gestión de los conjuntos detuplas obtenidos como resultado de
alguna consulta.
z También: directivas del precompilador: gestión de errores,
delimitación de segmentos de programa, etc.

7

Sintaxis general de las sentencias de
SQL embebido (II)
z Consideraciones generales de sintaxis:
{ Todas las instrucciones del SQL embebido van precedidas
de las palabras reservadas EXEC SQL y finalizan con un
símbolo especial.
{En el lenguaje Pro*C este símbolo es el punto y coma (;).
EXEC SQL delete from emp;
{ Esta notación permite al precompilador identificar y procesar
estas instrucciones para traducirlas a código C estándar.
8

Declaración de variables (I)
z Las variables del lenguaje que son utilizadas en
instrucciones SQL (variables huéspedes) deben ser
declaradas en una sección especial encabezada yterminada de la siguiente forma:
EXEC SQL BEGIN DECLARE SECTION;
...
EXEC SQL END DECLARE SECTION;

z Las variables huésped constituyen la única vía de
intercambio de datos entre el programa huésped y la
base de datos.
9

Declaración de variables (II)
z La declaración y el uso de una variable huésped se realizan en
la forma convencional del lenguaje C:
long empno;

empno = 123;

zPueden aparecer en una instrucción SQL en cualquier lugar en
el que puede aparecer una expresión o valor del mismo tipo, y
deben ir precedidas del símbolo dos puntos ( : ).
EXEC SQL SELECT * … FROM EMP WHERE EMPNO = :empno;

z No se pueden utilizar para representar a objetos de la base de
datos (nombres de tabla, columna, etc.)
char tabla[] = “emp”;

EXEC SQL SELECT * FROM :tabla(INCORRECTO!!!)
10

Declaración de variables (III)
z Los siguientes tipos utilizados en C pueden ser utilizados
para definir variables huésped:
{ char
{ char[n]
{ int
{ short
{ long
{ float
{ double
{ VARCHAR[n]

Carácter Simple
Cadena de n caracteres (string)
Valor entero
Entero corto
Entero Largo
Valor de punto flotante (precisión sencilla)
Valor de punto flotante (precisión...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • embebido
  • Computacion embebida
  • PROYECTO EMBEBIDOS
  • que es sql
  • Que es sql
  • Sistemas embebidos
  • SQL
  • Sistemas embebidos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS