You are on page 1of 59

DECLARANDO VARIABLES PL/SQL

AGENDA
VARIABLES INTRODUCCIN

EXAMINAR LOS TIPOS DE DATOS VARIABLES Y EL ATRIBUTO %TYPE EXAMINAR VARIABLES LAZO

USO DE VARIABLES
LAS VARIABLES SE PUEDEN UTILIZAR PARA:
EL ALMACENAMIENTO TEMPORAL DE LOS DATOS LA MANIPULACIN DE LOS VALORES ALMACENADOS REUTILIZACIN

USO DE VARIABLES
CON PL / SQL, PUEDE DECLARAR VARIABLES Y, A CONTINUACIN, UTILIZAR EN SQL Y SENTENCIAS DE PROCEDIMIENTO.
LAS VARIABLES SE UTILIZAN PRINCIPALMENTE PARA EL ALMACENAMIENTO DE DATOS Y LA MANIPULACIN DE LOS VALORES ALMACENADOS. LA SENTENCIA RECUPERA FIRST_NAME Y DEPARTMENT_ID DE LA TABLA. SI TIENE QUE MANIPULAR FIRST_NAME O DEPARTMENT_ID, USTED TIENE QUE ALMACENAR EL VALOR RECUPERADO. LAS VARIABLES SE UTILIZAN PARA ALMACENAR TEMPORALMENTE EL VALOR. USTED PUEDE UTILIZAR EL VALOR ALMACENADO EN ESTAS VARIABLES PARA EL PROCESAMIENTO Y MANIPULACIN DE DATOS. LAS VARIABLES PUEDEN ALMACENAR CUALQUIER OBJETO PL / SQL, TALES COMO VARIABLES, TIPOS, CURSORES Y SUBPROGRAMAS. LA REUTILIZACIN ES OTRA VENTAJA DE LA DECLARACIN DE VARIABLES. DESPUS QUE SE DECLARAN LAS VARIABLES, SE PUEDEN UTILIZAR VARIAS VECES EN UNA APLICACIN HACIENDO REFERENCIA A ELLAS VARIAS VECES EN VARIAS DECLARACIONES.

REQUISITOS PARA LOS NOMBRES DE VARIABLE


UN NOMBRE DE VARIABLE: DEBE COMENZAR CON UNA LETRA PUEDEN INCLUIR LETRAS O NMEROS PUEDE INCLUIR CARACTERES ESPECIALES (COMO $, _, Y #) DEBE CONTENER NO MS DE 30 CARACTERES NO DEBE INCLUIR LAS PALABRAS RESERVADAS

MANEJO DE VARIABLES EN PL / SQL


LAS VARIABLES SON: DECLARADAS E (OPCIONALMENTE) INICIALIZADAS EN EL SEGMENTO O SECCION DECLARATIVA SE UTILIZA Y ASIGNA NUEVOS VALORES EN LA SECCIN EJECUTABLE PUEDE SER PASADA COMO PARMETROS A SUBPROGRAMAS PL / SQL SE UTILIZA PARA MANTENER LA SALIDA DE UN SUBPROGRAMA PL / SQL

MANEJO DE VARIABLES EN PL / SQL


USTED PUEDE UTILIZAR LAS VARIABLES DE LAS SIGUIENTES MANERAS : DECLARAR E INICIALIZAR EN LA SECCIN DE DECLARACIN : PUEDE DECLARAR VARIABLES EN LA PARTE DECLARATIVA DE CUALQUIER BLOQUE PL / SQL , SUBPROGRAMA O PAQUETE.
o DECLARACIONES ASIGNAR ESPACIO DE ALMACENAMIENTO PARA UN VALOR , ESPECIFIQUE SU TIPO DE DATOS Y EL NOMBRE DE LA UBICACIN DE ALMACENAMIENTO PARA QUE PUEDA HACER REFERENCIA A ELLA . o DECLARACIONES TAMBIN PUEDE ASIGNAR UN VALOR INICIAL E IMPONER LA RESTRICCIN NOT NULL EN LA VARIABLE. o DEBE DECLARAR UNA VARIABLE ANTES DE HACER REFERENCIA A ELLA EN OTRAS DECLARACIONES , INCLUIDAS OTRAS DECLARACIONES DECLARATIVAS .

MANEJO DE VARIABLES EN PL / SQL


USE Y ASIGNE NUEVOS VALORES EN LA SECCIN EJECUTABLE :
o EL VALOR ACTUAL DE LA VARIABLE PUEDE SER REEMPLAZADO CON UN NUEVO VALOR .

PASAR COMO PARMETROS A SUBPROGRAMAS PL / SQL :


o LOS SUBPROGRAMAS PUEDEN TOMAR PARMETROS . PUEDE PASAR VARIABLES COMO PARMETROS A SUBPROGRAMAS.

UTILCELOS PARA MANTENER LA SALIDA DE UN SUBPROGRAMA PL / SQL:


o LAS VARIABLES PUEDEN SER USADOS PARA SOSTENER EL VALOR DEVUELTO POR UNA FUNCIN.

DECLARAR E INICIALIZAR VARIABLES PL / SQL

DECLARAR E INICIALIZAR VARIABLES PL / SQL


DEBE DECLARAR TODOS LOS IDENTIFICADORES DE PL / SQL EN LA SECCIN DE DECLARACIN ANTES DE HACER REFERENCIA EN EL BLOQUE PL / SQL. USTED TIENE LA OPCIN DE ASIGNAR UN VALOR INICIAL A UNA VARIABLE. LA SINTAXIS :
o IDENTIFICADOR ES EL NOMBRE DE LA VARIABLE o CONSTANTE RESTRINGE LA VARIABLE DE MANERA QUE SU VALOR NO SE PUEDE CAMBIAR ( LAS CONSTANTES DEBEN SER INICIALIZADAS . ) o TIPO DE DATOS ES UN ESCALAR , COMPUESTO, DE REFERENCIA O TIPO DE DATOS LOB o NOT NULL RESTRINGE LA VARIABLE PARA QUE CONTENGA UN VALOR ( NOT NULL SE DEBEN INICIALIZAR LAS VARIABLES . ) o EXPR CUALQUIER EXPRESIN DE PL / SQL QUE PUEDE SER UNA EXPRESIN LITERAL , OTRA VARIABLE, O UNA EXPRESIN QUE LOS OPERADORES Y FUNCIONES

DECLARAR E INICIALIZAR VARIABLES PL / SQL

DECLARAR E INICIALIZAR VARIABLES PL / SQL


EN EL PRIMER BLOQUE, LA VARIABLE V_MYNAME ES DECLARADA PERO NO INICIALIZADA. - UN VALOR DE JOHN SE ASIGNA A LA VARIABLE EN LA SECCIN EJECUTABLE. - LOS LITERALES DE CADENA DEBEN IR ENTRE COMILLAS SIMPLES. SI LA CADENA TIENE COMILLAS COMO TODAYS DATE, LA CADENA SERA 'TODAY' 'S DATE'. - EL OPERADOR DE ASIGNACIN ES: ": =". - EL PROCEDIMIENTO PUT_LINE SE INVOCA AL PASAR LA VARIABLE V_MYNAME. EL VALOR DE LA VARIABLE SE CONCATENA CON LA CADENA 'MY NAME IS:'.

DECLARAR E INICIALIZAR VARIABLES PL / SQL


- SALIDA DE ESTE BLOQUE ANNIMO ES:

EN EL SEGUNDO BLOQUE, LA VARIABLE V_MYNAME SE DECLARA Y SE INICIALIZA EN LA SECCIN DECLARATIVA. V_MYNAME CONTIENE EL VALOR DE JOHN DESPUS DE LA INICIALIZACIN. ESTE VALOR SE MANIPULA EN LA SECCIN EJECUTABLE DEL BLOQUE. LA SALIDA DE ESTE BLOQUE ANNIMO ES:

DELIMITADORES EN CADENAS DE CARACTERES

DELIMITADORES EN CADENAS DE CARACTERES


SI LA CADENA CONTIENE UN APSTROFO (IDNTICA A UNA COMILLA SIMPLE), DEBE DOBLAR LAS COMILLAS, COMO EN EL SIGUIENTE EJEMPLO:

v_event VARCHAR2(15):='Father''s day';


LA PRIMERA COMILLA ACTA COMO CARCTER DE ESCAPE. ESTO HACE QUE LA CADENA SE COMPLIQUE, ESPECIALMENTE SI USTED TIENE INSTRUCCIONES SQL COMO CADENAS GRANDES. SE PUEDE ESPECIFICAR CUALQUIER CARCTER QUE NO EST PRESENTE EN LA CADENA COMO UN DELIMITADOR. LA DIAPOSITIVA MUESTRA CMO UTILIZAR LA NOTACIN q' PARA ESPECIFICAR EL DELIMITADOR. EL EJEMPLO USA ! Y [ COMO DELIMITADORES. CONSIDEREMOS EL SIGUIENTE EJEMPLO: v_event := q'!Father's day!';

DELIMITADORES EN CADENAS DE CARACTERES


SE PUEDE COMPARAR ESTO CON EL PRIMER EJEMPLO. USTED COMIENZA LA CADENA CON q' SI DESEA UTILIZAR UN DELIMITADOR. EL CARCTER QUE SIGUE LA NOTACIN ES EL DELIMITADOR UTILIZADO. ESCRIBA LA CADENA DESPUS DE ESPECIFICAR EL DELIMITADOR, CIERRE EL DELIMITADOR, Y CERRAR LA ANOTACIN CON UNA COMILLA SIMPLE. EL SIGUIENTE EJEMPLO MUESTRA CMO UTILIZAR [ COMO DELIMITADOR: v_event := q'[Mother's day]';

AGENDA
VARIABLES INTRODUCCIN

EXAMINAR LOS TIPOS DE DATOS VARIABLES Y EL ATRIBUTO %TYPE EXAMINAR VARIABLES LAZO

TIPOS DE VARIABLES
PL/SQL variables: Scalar Reference Large object (LOB) Composite
Non-PL/SQL variables: Bind variables

TIPOS DE VARIABLES
TODA VARIABLE PL / SQL TIENE UN TIPO DE DATOS , QUE ESPECIFICA UN FORMATO DE ALMACENAMIENTO , LAS LIMITACIONES , Y UN RANGO DE VALORES VLIDOS . PL/SQL SOPORTA LA MAYORA DE CATEGORAS DE TIPOS DE DATOS , INCLUYENDO ESCALAR, DE REFERENCIA, DE OBJETOS GRANDES ( LOB) , Y COMPUESTO. TIPOS DE DATOS ESCALARES : TIPOS DE DATOS ESCALARES TIENEN UN SOLO VALOR. EL VALOR DEPENDE DEL TIPO DE DATOS DE LA VARIABLE . POR EJEMPLO , LA VARIABLE V_MYNAME ES DE TIPO VARCHAR2 . POR LO TANTO , V_MYNAME PUEDE CONTENER UN VALOR DE CADENA . PL/SQL TAMBIN ADMITE VARIABLES BOOLEANAS. LOS TIPOS DE DATOS DE REFERENCIA: LOS TIPOS DE DATOS DE REFERENCIA TIENEN VALORES , LLAMADOS PUNTEROS , QUE APUNTAN A UNA UBICACIN DE ALMACENAMIENTO.

TIPOS DE VARIABLES
LOS TIPOS DE DATOS DE OBJETOS GRANDES: LOS TIPOS DE DATOS LOB TIENEN VALORES , LLAMADOS LOCALIZADORES , QUE ESPECIFICAN LA UBICACIN DE LOS OBJETOS GRANDES (COMO IMGENES GRFICAS ) QUE SE ALMACENAN FUERA DE LA TABLA . LOS TIPOS DE DATOS COMPUESTOS : TIPOS DE DATOS COMPUESTOS SE ENCUENTRAN DISPONIBLES MEDIANTE EL USO DE LA COLECCIN DE PL/SQL Y LAS VARIABLES DE REGISTRO . COLECCIONES PL/SQL Y LOS REGISTROS CONTIENEN ELEMENTOS INTERNOS QUE SE PUEDEN TRATAR COMO VARIABLES INDIVIDUALES. VARIABLES NON-PL/SQL INCLUYEN VARIABLES DEL LENGUAJE PRINCIPAL DECLARADAS EN PROGRAMAS DE PRECOMPILADOR , CAMPOS DE PANTALLA DE APLICACIONES DE FORMULARIOS Y VARIABLES DEL LENGUAJE PRINCIPAL .

TIPOS DE VARIABLES

TRUE representa un valor booleano. 15-JAN-09 representa una fecha. La imagen representa un BLOB. El rollo de pelcula representa un BFILE. El texto de la llamada puede representar un tipo de datos VARCHAR2 o CLOB. 256.120,08 representa un tipo de datos NUMBER con precisin y escala. El nombre de la ciudad de Atlanta representa un tipo de datos VARCHAR2.

DIRECTRICES PARA DECLARAR E INICIALIZAR VARIABLES PL / SQL


Siga las convenciones de nombres consistentes. Utilizar identificadores significativos para las variables. Inicialice las variables que se designan como NOT NULL y CONSTANTE. Inicialice las variables con el operador de asignacin (: =) o la palabra clave DEFAULT: Declarar un identificador por lnea para una mejor legibilidad y mantenimiento del cdigo.

DIRECTRICES PARA DECLARAR E INICIALIZAR VARIABLES PL / SQL


AQU HAY ALGUNAS PAUTAS A SEGUIR CUANDO SE DECLARA VARIABLES PL / SQL. MANTENGA LA NOMENCLATURA DE NOMBRES, POR EJEMPLO, PODRA UTILIZAR EL NAME PARA REPRESENTAR UNA VARIABLE Y C_NAME PARA REPRESENTAR UNA CONSTANTE. DEL MISMO MODO, PARA NOMBRAR UNA VARIABLE, PUEDE UTILIZAR V_FNAME. LA CLAVE EST EN APLICAR EL CONVENIO DE DENOMINACIN COHERENTE PARA FACILITAR SU IDENTIFICACIN. UTILIZAR IDENTIFICADORES SIGNIFICATIVOS Y APROPIADOS PARA LAS VARIABLES. POR EJEMPLO, CONSIDERE EL USO DE SALARY Y SAL_WITH_COMMISSION EN LUGAR DE SALARY1 Y SALARY2.

DIRECTRICES PARA DECLARAR E INICIALIZAR VARIABLES PL / SQL


SI UTILIZA LA RESTRICCIN NOT NULL, DEBE ASIGNAR UN VALOR CUANDO SE DECLARA LA VARIABLE. EN DECLARACIONES DE CONSTANTES, LA PALABRA CLAVE CONSTANT DEBE PRECEDER EL ESPECIFICADOR DE TIPO. LOS SIGUIENTES NOMBRES DE DECLARACIN DE UNA CONSTANTE DE TIPO NUMBER Y ASIGNA EL VALOR DE 50.000 A LA CONSTANTE. UNA CONSTANTE SE DEBE INICIALIZAR EN SU DECLARACIN, DE LO CONTRARIO, OBTENDR UN ERROR DE COMPILACIN. DESPUS DE INICIALIZAR UNA CONSTANTE, NO PUEDE CAMBIAR SU VALOR. SAL CONSTANT NUMBER := 50000.00;

DIRECTRICES PARA DECLARAR E INICIALIZAR VARIABLES PL / SQL


Evite el uso de nombres de columna como identificadores.

Utilice la restriccin NOT NULL cuando la variable debe tener un valor.

DIRECTRICES PARA DECLARAR E INICIALIZAR VARIABLES PL / SQL


INICIALICE LA VARIABLE DE UNA EXPRESIN CON EL OPERADOR DE ASIGNACIN (: = ) O CON LA PALABRA RESERVADA DEFAULT. SI NO SE ASIGNA UN VALOR INICIAL , EL NUEVO CONTIENE NULL DE FORMA PREDETERMINADA HASTA QUE ASIGNE UN VALOR. PARA ASIGNAR O REASIGNAR UN VALOR A UNA VARIABLE, SE ESCRIBE UNA SENTENCIA DE ASIGNACIN PL / SQL. SIN EMBARGO , ES UNA BUENA PRCTICA DE PROGRAMACIN INICIALIZAR TODAS LAS VARIABLES. DOS OBJETOS PUEDEN TENER EL MISMO NOMBRE SLO SI ESTN DEFINIDOS EN DIFERENTES BLOQUES. DONDE COEXISTEN , SE PUEDE CALIFICAR CON ETIQUETAS Y UTILIZARLAS.

DIRECTRICES PARA DECLARAR E INICIALIZAR VARIABLES PL / SQL


EVITE EL USO DE NOMBRES DE COLUMNA COMO IDENTIFICADORES. SI SE PRODUCEN LAS VARIABLES PL / SQL EN SENTENCIAS SQL Y TENER EL MISMO NOMBRE QUE UNA COLUMNA, EL SERVIDOR ORACLE ASUME QUE ES LA COLUMNA QUE SE EST HACIENDO REFERENCIA . AUNQUE EL EJEMPLO DE CDIGO EN LA DIAPOSITIVA FUNCIONA , EL CDIGO QUE SE ESCRIBE UTILIZANDO EL MISMO NOMBRE PARA UNA TABLA DE BASE DE DATOS Y UNA VARIABLE QUE NO ES FCIL DE LEER Y MANTENER. IMPONER LA RESTRICCIN NOT NULL CUANDO LA VARIABLE DEBE CONTENER UN VALOR . NO ES POSIBLE ASIGNAR VALORES NULOS A UNA VARIABLE QUE SE DEFINE COMO NOT NULL. LA RESTRICCIN NOT NULL DEBE SER SEGUIDA POR UNA CLUSULA DE INICIALIZACIN.

CONVENCIONES DE NOMENCLATURA DE ESTRUCTURAS PL / SQL

TIPOS DE DATOS ESCALARES


MANTIENEN UN NICO VALOR NO TIENEN COMPONENTES INTERNOS

TIPOS DE DATOS ESCALARES


PL / SQL PROPORCIONA UNA VARIEDAD DE TIPOS DE DATOS PREDEFINIDOS. POR EJEMPLO, PUEDE ELEGIR DESDE UN ENTERO, PUNTO FLOTANTE, CARCTER, BOOLEANO, FECHA, COLECCIN, Y LOS TIPOS LOB. UN TIPO DE DATOS ESCALAR POSEE UN VALOR NICO Y NO TIENE COMPONENTES INTERNOS. TIPOS DE DATOS ESCALARES SE PUEDEN CLASIFICAR EN CUATRO CATEGORAS: NMERO, CARCTER, FECHA Y BOOLEANOS. LOS TIPOS DE DATOS CARACTERES Y NMERO SUBTIPOS QUE ASOCIAN UN TIPO BASE PARA UNA RESTRICCIN. POR EJEMPLO, INTEGER Y POSITIVE SON SUBTIPOS DEL TIPO BASE NUMBER.

TIPOS DE DATOS ESCALARES


CHAR [(maximum_length)] VARCHAR2 (maximum_length) NUMBER [(precision, scale)] BINARY_INTEGER PLS_INTEGER BOOLEAN BINARY_FLOAT BINARY_DOUBLE

TIPOS DE DATOS ESCALARES

TIPOS DE DATOS ESCALARES

TIPOS DE DATOS ESCALARES


DATE TIMESTAMP TIMESTAMP WITH TIME ZONE TIMESTAMP WITH LOCAL TIME ZONE INTERVAL YEAR TO MONTH INTERVAL DAY TO SECOND

TIPOS DE DATOS ESCALARES

TIPOS DE DATOS ESCALARES

Declarando variables ESCALARES

v_emp_job: Variable to store an employee job title v_count_loop: Variable to count the iterations of a loop; initialized to 0 v_dept_total_sal:Variable to accumulate the total salary for a department; initialized to 0 v_orderdate: Variable to store the ship date of an order; initialized to one week from today c_tax_rate: Constant variable for the tax rate (which never changes throughout the PL/SQL block); set to 8.25 v_valid: Flag to indicate whether a piece of data is valid or invalid; initialized to TRUE

ATRIBUTO %TYPE
SE UTILIZA PARA DECLARAR UNA VARIABLE DE ACUERDO A: UNA DEFINICIN DE LA COLUMNA DE BASE DE DATOS OTRA VARIABLE DECLARADA
TIENE EL PREFIJO: LA TABLA Y LA COLUMNA NOMBRE DE LA BASE DE DATOS EL NOMBRE DE LA VARIABLE DECLARADA

ATRIBUTO %TYPE
LAS VARIABLES PL / SQL SE SUELEN DECLARAR PARA SOSTENER Y MANIPULAR LOS DATOS ALMACENADOS EN UNA BASE DE DATOS. AL DECLARAR LAS VARIABLES PL / SQL PARA MANTENER LOS VALORES DE COLUMNA, DEBE ASEGURARSE DE QUE LA VARIABLE ES DEL TIPO DE DATOS CORRECTO. SI NO ES AS, SE PRODUCE UN ERROR DE PL / SQL DURANTE LA EJECUCIN. SI USTED TIENE QUE DISEAR GRANDES SUBPROGRAMAS, ESTO PUEDE LLEVAR MUCHO TIEMPO Y PROPENSO A ERRORES. EN LUGAR PUEDE UTILIZAR EL ATRIBUTO %TYPE PARA DECLARAR UNA VARIABLE DE ACUERDO CON OTRA QUE HAYA SIDO DECLARADA. EL ATRIBUTO %TYPE SE UTILIZA CON MAYOR FRECUENCIA CUANDO EL VALOR ALMACENADO EN LA VARIABLE SE DERIVA DE UNA TABLA EN LA BASE DE DATOS. CUANDO SE UTILIZA EL ATRIBUTO %TYPE PARA DECLARAR UNA VARIABLE, DEBE ANTEPONER EL NOMBRE DE LA TABLA DE BASE DE DATOS Y EL NOMBRE DE LA COLUMNA.

DECLARANDO VARIABLES %TYPE

DECLARANDO VARIABLES %TYPE


DECLARAR VARIABLES PARA ALMACENAR EL APELLIDO DE UN EMPLEADO. LA VARIABLE V_EMP_LNAME SE DEFINE PARA SER DEL MISMO TIPO DE DATOS COMO LA COLUMNA DE LA V_LAST_NAME EN LA TABLA EMPLEADOS. EL ATRIBUTO %TYPE PROPORCIONA EL TIPO DE DATOS DE UNA COLUMNA DE BASE DE DATOS. DECLARAR VARIABLES PARA ALMACENAR EL SALDO DE UNA CUENTA BANCARIA, AS COMO EL SALDO MNIMO, QUE ES DE 1.000. LA VARIABLE V_MIN_BALANCE SE DEFINE PARA SER DEL MISMO TIPO DE DATOS COMO LA VARIABLE V_BALANCE. EL ATRIBUTO %TYPE PROPORCIONA EL TIPO DE DATOS DE UNA VARIABLE. UNA RESTRICCIN DE LA COLUMNA DE BASE DE DATOS NO NULO NO SE APLICA A LAS VARIABLES QUE SE DECLARAN UTILIZANDO %TYPE. POR LO TANTO, SI SE DECLARA UNA VARIABLE UTILIZANDO EL ATRIBUTO TYPE% QUE UTILIZA UNA BASE DE DATOS DE LA COLUMNA DEFINIDA COMO NOT NULL, PUEDE ASIGNAR EL VALOR NULL A LA VARIABLE.

Declarando variables BOOLEANAS


SLO LOS VALORES TRUE, FALSE, Y NULL SE PUEDEN ASIGNAR A UNA VARIABLE BOOLEANA. LAS EXPRESIONES CONDICIONALES UTILIZAN LOS OPERADORES LGICOS AND Y OR Y EL OPERADOR UNARIO NO PARA COMPROBAR LOS VALORES DE LAS VARIABLES. LAS VARIABLES SIEMPRE SE PRODUCEN TRUE, FALSE, O NULL.

ARITMTICOS, DE CARCTER, Y LA FECHA EXPRESIONES SE PUEDEN UTILIZAR PARA DEVOLVER UN VALOR BOOLEANO.

Declarando variables BOOLEANAS


CON PL / SQL, USTED PUEDE COMPARAR LAS VARIABLES EN SQL Y SENTENCIAS DE PROCEDIMIENTO. ESTAS COMPARACIONES, LLAMADAS EXPRESIONES BOOLEANAS, CONSISTEN EN EXPRESIONES SIMPLES O COMPLEJAS, SEPARADOS POR OPERADORES RELACIONALES. EJEMPLOS: EMP_SAL1: 50000; EMP_SAL2: = 60,000; LA SIGUIENTE EXPRESIN PRODUCE VERDADERO: EMP_SAL1 <EMP_SAL2 DECLARAR E INICIALIZAR UNA VARIABLE BOOLEANA: DECLARE flag BOOLEAN := FALSE; BEGIN flag := TRUE; END;

VARIABLES DE TIPO DE DATOS LOB

VARIABLES DE TIPO DE DATOS LOB


LOS OBJETOS GRANDES ( LOB ) TIENEN EL PROPSITO DE ALMACENAR UNA GRAN CANTIDAD DE DATOS. UNA COLUMNA DE BASE DE DATOS PUEDE SER DE LA CATEGORA DE LOB. CON LA CATEGORA DE TIPOS DE DATOS LOB, PUEDE ALMACENAR LOS BLOQUES DE DATOS NO ESTRUCTURADOS (TALES COMO TEXTO, IMGENES GRFICAS , CLIPS DE VDEO , Y LAS FORMAS DE ONDA DE SONIDO ) DE HASTA 128 TERABYTES EN FUNCIN DEL TAMAO DE BLOQUE DE BASE DE DATOS. EL GRAN OBJETO DE CARACTERES ( CLOB ) TIPO DE DATOS SE UTILIZA PARA ALMACENAR GRANDES BLOQUES DE DATOS DE CARACTERES EN LA BASE DE DATOS . EL OBJETO BINARIO GRANDE (BLOB ) TIPO DE DATOS QUE SE UTILIZA PARA ALMACENAR OBJETOS BINARIOS GRANDES NO ESTRUCTURADOS O ESTRUCTURADOS EN LA BASE DE DATOS . AL INSERTAR O RECUPERAR ESOS DATOS HACIA O DESDE LA BASE DE DATOS , LA BASE DE DATOS NO INTERPRETA LOS DATOS. LAS APLICACIONES EXTERNAS QUE UTILIZAN ESTOS DATOS DEBEN INTERPRETAR LOS DATOS.

VARIABLES DE TIPO DE DATOS LOB


EL ARCHIVO ( BFILE ) TIPO DE DATOS BINARIOS SE UTILIZA PARA ALMACENAR GRANDES ARCHIVOS BINARIOS. A DIFERENCIA DE OTROS LOB , BFILES SE ALMACENAN FUERA DE LA BASE DE DATOS Y NO EN LA BASE DE DATOS . ELLOS PODRAN ESTAR OPERANDO LOS ARCHIVOS DEL SISTEMA . EL CARCTER LENGUA OBJETO GRANDE NACIONAL ( NCLOB ) TIPO DE DATOS SE UTILIZA PARA ALMACENAR GRANDES BLOQUES DE DATOS UNICODE NCHAR EN LA BASE DE DATOS DE UN SOLO BYTE O DE VARIOS BYTES DE ANCHO FIJO .

TIPOS DE DATOS COMPUESTOS: REGISTROS Y COLECCIONES

TIPOS DE DATOS COMPUESTOS: REGISTROS Y COLECCIONES


COMO SE MENCION ANTERIORMENTE, UN TIPO DE DATOS ESCALAR POSEE UN VALOR NICO Y NO TIENE COMPONENTES INTERNOS. LOS TIPOS DE DATOS COMPUESTOS LLAMADOS REGISTROS PL / SQL Y PL / SQL COLECCIONES TIENEN COMPONENTES INTERNOS QUE SE PUEDEN TRATAR COMO VARIABLES INDIVIDUALES. EN UN REGISTRO DE PL / SQL, LOS COMPONENTES INTERNOS PUEDEN SER DE DIFERENTES TIPOS DE DATOS, Y SE LLAMAN CAMPOS. SE ACCEDE A CADA CAMPO CON LA SIGUIENTE SINTAXIS: record_name.field_name. UNA VARIABLE DE REGISTRO PUEDE CONTENER UNA FILA DE LA TABLA, O ALGUNAS COLUMNAS DE UNA FILA DE LA TABLA. CADA CAMPO DE REGISTRO CORRESPONDE A UNA COLUMNA DE LA TABLA. EN UNA COLECCIN DE PL / SQL, LOS COMPONENTES INTERNOS SON SIEMPRE DEL MISMO TIPO DE DATOS, Y SE DENOMINAN ELEMENTOS. SE ACCEDE A CADA ELEMENTO POR SU SUBNDICE NICO. LAS LISTAS Y LAS MATRICES SON EJEMPLOS CLSICOS DE LAS COLECCIONES. HAY TRES TIPOS DE COLECCIONES DE PL / SQL: ASOCIATIVO MATRICES, TABLAS ANIDADAS, Y LOS TIPOS VARRAY.

AGENDA
VARIABLES INTRODUCCIN

EXAMINAR LOS TIPOS DE DATOS VARIABLES Y EL ATRIBUTO %TYPE EXAMINAR VARIABLES LAZO

VARIABLES BIND
VARIABLES DE VINCULACIN SON: CREADAS EN EL ENTORNO TAMBIN LLAMADAS VARIABLES HOST CREADO CON LA PALABRA CLAVE VARIABLE, SE REQUIERE CUANDO SE UTILIZA SQL PLUS Y SQL DEVELOPER SE UTILIZA EN SENTENCIAS SQL Y BLOQUES PL / SQL SON CONSULTADAS O ACCESADAS AUN INCLUSO DESPUS DE QUE SE EJECUTE EL BLOQUE PL/SQL LOS VALORES PUEDEN SER DE SALIDA CON EL COMANDO PRINT.

VARIABLES BIND
USOS DE VARIABLES BIND: SE CREAN EN EL AMBIENTE Y NO EN LA SECCIN DECLARATIVA DE UN BLOQUE PL/SQL. POR LO TANTO, LAS VARIABLES SON ACCESIBLES INCLUSO DESPUS DE EJECUTAR EL BLOQUE. CUANDO SE CREA VARIABLES DE ENLACE SE PUEDEN UTILIZAR Y MANIPULAR POR VARIOS SUBPROGRAMAS. PUEDEN SER UTILIZADOS EN SENTENCIAS SQL Y BLOQUES PL/SQL COMO CUALQUIER OTRA VARIABLE. NOTA: UNA VARIABLE DE VINCULACIN ES UNA VARIABLE DE ENTORNO, PERO NO ES UNA VARIABLE GLOBAL.

VARIABLES BIND
CREACIN DE VARIABLES DE VINCULACIN PARA CREAR UNA VARIABLE DE VINCULACIN EN SQL DEVELOPER, UTILICE EL COMANDO VARIABLE. POR EJEMPLO, SE DECLARA UNA VARIABLE DE TIPO NUMBER Y VARCHAR2 DE LA SIGUIENTE MANERA:

VARIABLE RETURN_CODE NUMBER VARIABLE RETURN_MSG VARCHAR2(30)

VARIABLES BIND
VISUALIZACIN DE VALORES DE VARIABLES SE UNEN PUEDE HACER REFERENCIA A LA VARIABLE DE VINCULACIN UTILIZANDO SQL DEVELOPER Y VER SU VALOR USANDO EL COMANDO PRINT.

EJEMPLO PUEDE HACER REFERENCIA A UNA VARIABLE BIND EN UN PROGRAMA DE PL/SQL PRECEDIENDO LA VARIABLE CON DOS PUNTOS. POR EJEMPLO, EL SIGUIENTE BLOQUE PL/SQL CREA Y UTILIZA LA VARIABLE B_RESULT. LA SALIDA RESULTANTE DEL COMANDO PRINT ES LA SIGUIENTE:
VARIABLE b_result NUMBER BEGIN SELECT (SALARY*12) + NVL(COMMISSION_PCT,0) INTO :b_result FROM employees WHERE employee_id = 144; END; / PRINT b_result

REFERENCIANDO VARIABLES BIND

REFERENCIANDO VARIABLES BIND


COMO SE DIJO ANTERIORMENTE, DESPUS DE CREAR UNA VARIABLE DE VINCULACIN, PUEDE HACER REFERENCIA A ESA VARIABLE EN CUALQUIER OTRA INSTRUCCIN SQL O PL PROGRAMA / SQL.

EN EL EJEMPLO, B_EMP_SALARY SE CREA COMO UNA VARIABLE DE VINCULACIN EN EL BLOQUE PL / SQL. ENTONCES, SE UTILIZA EN LA INSTRUCCIN SELECT QUE SIGUE.
CUANDO SE EJECUTA EL / BLOQUE PL SQL, APARECE EL SIGUIENTE RESULTADO:

USANDO AUTOPRINT CON VARIABLES BIND

USANDO AUTOPRINT CON VARIABLES BIND


UTILICE EL COMANDO SET AUTOPRINT ON PARA MOSTRAR AUTOMTICAMENTE LAS VARIABLES DE ENLACE UTILIZADAS EN BLOQUE PL / SQL.

EN EL EJEMPLO DE CDIGO:
UNA VARIABLE DE VINCULACIN DENOMINADO B_EMP_SALARY SE CREA Y AUTOPRINT EST ENCENDIDO. UNA VARIABLE LLAMADA V_EMPNO SE DECLARA, Y UNA VARIABLE DE SUSTITUCIN SE UTILIZA PARA RECIBIR LA ENTRADA DEL USUARIO. POR LTIMO, SE UTILIZAN LAS VARIABLES DE ENLACE Y VARIABLES TEMPORALES EN LA SECCIN EJECUTABLE DEL BLOQUE PL/SQL. CUANDO UN NMERO DE EMPLEADO VLIDO SE INTRODUCE, EN ESTE CASO 178 LA SALIDA DE LA VARIABLE DE VINCULACIN SE IMPRIME AUTOMTICAMENTE. LA VARIABLE DE VINCULACIN CONTIENE DEL SUELDO CORRESPONDIENTE AL NMERO DE EMPLEADO QUE ES PROPORCIONADA POR EL USUARIO.

QUIZ
The %TYPE attribute: 1. Se utiliza para declarar una variable de acuerdo con la definicin de una columna de base de datos 2. Se utiliza para declarar una variable de acuerdo a un conjunto de columnas de una tabla o vista de base 3. Se utiliza para declarar una variable de acuerdo con la definicin de otra variable declarada 4. Se prefija con la tabla de base de datos y la columna nombre o el nombre de la variable declarada

RESPUESTA: 1 , 3, 4 EL %TYPE ATTRIBUTE LAS VARIABLES PL/SQL SE SUELEN DECLARAR PARA SOSTENER Y MANIPULAR LOS DATOS ALMACENADOS EN UNA BASE DE DATOS . AL DECLARAR LAS VARIABLES PL/SQL PARA MANTENER LOS VALORES DE COLUMNA , DEBE ASEGURARSE DE QUE LA VARIABLE ES DEL TIPO DE DATOS CORRECTO Y PRECISIN. SI NO ES AS, SE PRODUCE UN ERROR DE PL / SQL DURANTE LA EJECUCIN. SI USTED TIENE QUE DISEAR GRANDES SUBPROGRAMAS , ESTO PUEDE LLEVAR MUCHO TIEMPO Y PROPENSO A ERRORES. EN LUGAR DE DIFCIL CODIFICACIN DEL TIPO DE DATOS Y LA PRECISIN DE UNA VARIABLE , PUEDE UTILIZAR EL ATRIBUTO % TYPE PARA DECLARAR UNA VARIABLE DE ACUERDO CON OTRA QUE HAYA SIDO DECLARADA COLUMNA VARIABLE O BASE DE DATOS. EL ATRIBUTO % TYPE SE UTILIZA CON MAYOR FRECUENCIA CUANDO EL VALOR ALMACENADO EN LA VARIABLE SE DERIVA DE UNA TABLA EN LA BASE DE DATOS

You might also like