12.07.2015 Views

Declaración de Variables

Declaración de Variables

Declaración de Variables

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Gestión <strong>de</strong> <strong>Variables</strong> en PL/SQL• Declarar e inicializar las variables<strong>de</strong>ntro <strong>de</strong> la sección n <strong>de</strong> <strong>de</strong>claración.• Asignar nuevos valores a las variables<strong>de</strong>ntro <strong>de</strong> la sección n <strong>de</strong> código. c• Pasar valores a los bloques PL/SQL através s <strong>de</strong> los parámetros.• Ver los resultados a través s <strong>de</strong> variables<strong>de</strong> salida.3-8 Copyright © Oracle Corporation, 1998. All rights reserved.


Tipos <strong>de</strong> <strong>Variables</strong>• <strong>Variables</strong> PL/SQL– Escalar– Compuesta– Referenciada– LOB (large objects)• Variable No-PL/SQL– <strong>Variables</strong> <strong>de</strong> Enlace (bind) y Host3-9 Copyright © Oracle Corporation, 1998. All rights reserved.


SintaxisEjemplosDeclaración <strong>de</strong> <strong>Variables</strong>PL/SQLi<strong>de</strong>ntifier [CONSTANT] datatype [NOT NULL][:= | DEFAULT expr];Declarev_hiredateDATE;v_<strong>de</strong>ptno NUMBER(2) NOT NULL := := 10;v_locationVARCHAR2(13) := := 'Atlanta';c_ c_ comm CONSTANT NUMBER := := 1400;3-11 Copyright © Oracle Corporation, 1998. All rights reserved.


Declaración <strong>de</strong> <strong>Variables</strong>PL/SQLRecomendaciones• Seguir las convenciones <strong>de</strong> nombres.• Inicializar las constantes y variables<strong>de</strong>signadas como NOT NULL.• Inicializar los i<strong>de</strong>ntificadores usando eloperador <strong>de</strong> asignación n (:=) o la palabrareservada DEFAULT.• Declarar a lo sumo un i<strong>de</strong>ntificador porlínea.3-12 Copyright © Oracle Corporation, 1998. All rights reserved.


Reglas para Nombres• Dos variables pue<strong>de</strong>n tener el mismonombre, si están en bloques diferentes.• El nombre <strong>de</strong> la variable (i<strong>de</strong>ntificador)no <strong>de</strong>bería ser el mismo que el <strong>de</strong> unacolumna <strong>de</strong> una tabla utilizadaen el bloque. DECLAREempno NUMBER(4);BEGINSELECTempnoINTOempnoFROMempWHERE ename = 'SMITH';END;3-13 Copyright © Oracle Corporation, 1998. All rights reserved.


Asignación <strong>de</strong> Valores a <strong>Variables</strong>Sintaxis:i<strong>de</strong>ntifier := := expr;Ejemplo:Establecer una fecha <strong>de</strong> alta por <strong>de</strong>fecto,para los nuevos empleados:v_hiredate := := '31-DEC-1998';Asignar el apellido “Maduro” a unempleado:v_ename := := 'Maduro';3-14 Copyright © Oracle Corporation, 1998. All rights reserved.


Inicialización <strong>de</strong> <strong>Variables</strong> yPalabras Clave (keywords)Uso:• := Operador <strong>de</strong> Asignación• DEFAULT• NOT NULL3-15 Copyright © Oracle Corporation, 1998. All rights reserved.


<strong>Variables</strong> Escalares• Mantienen un único valor.• No tienen componentes internos.25-OCT-99256120.08“Four score and seven yearsago our fathers broughtforth upon this continent, anew nation, conceived inLIBERTY, and <strong>de</strong>dicated tothe proposition that all menare created equal.”TRUEAtlanta3-16 Copyright © Oracle Corporation, 1998. All rights reserved.


Principales <strong>Variables</strong> Escalares• VARCHAR2(longitud_máxima)• NUMBER [(precisión, escala)]• DATE• CHAR [(longitud_máxima)]• LONG• LONG RAW• BOOLEAN• BINARY_INTEGER3-17 Copyright © Oracle Corporation, 1998. All rights reserved.


Declaración <strong>de</strong> <strong>Variables</strong> EscalaresEjemplo:v_jobVARCHAR2(9);v_count BINARY_INTEGER := := 0; 0;v_total_sal NUMBER(9,2) := := 0; 0;v_or<strong>de</strong>rdate DATE := := SYSDATE + 7; 7;c_tax_rate CONSTANT NUMBER(3,2) := := 8.25;v_validBOOLEAN NOT NULL := := TRUE;3-18 Copyright © Oracle Corporation, 1998. All rights reserved.


El Atributo %TYPE• Declarar una variable basada en:– Otras variables previamente<strong>de</strong>claradas.– La <strong>de</strong>finición n <strong>de</strong> una columna <strong>de</strong> labase <strong>de</strong> datos.• Prece<strong>de</strong>r %TYPE por:– La tabla y la columna <strong>de</strong> la base <strong>de</strong>datos.– El nombre <strong>de</strong> la variable <strong>de</strong>finida conanterioridad.3-19 Copyright © Oracle Corporation, 1998. All rights reserved.


Declaración <strong>de</strong> <strong>Variables</strong> con elAtributo %TYPEEjemplo:...v_enameemp.ename%TYPE;v_balanceNUMBER(7,2);v_min_balance v_balance%TYPE := := 10;...3-20 Copyright © Oracle Corporation, 1998. All rights reserved.


Declaración <strong>de</strong> Var. BOOLEAN• A una variable Boolean sólo se lepue<strong>de</strong>n asignar los valores: TRUE,FALSE o NULL.• Las variables están conectadas por losoperadores lógicos AND, OR, y NOT.• Las variables siempre valen TRUE,FALSE, o NULL.• Las expresiones aritméticas, <strong>de</strong>carácter y fecha, pue<strong>de</strong>n <strong>de</strong>volver unvalor Boolean.3-21 Copyright © Oracle Corporation, 1998. All rights reserved.


Tipos <strong>de</strong> Datos CompuestosTipos:• TABLAS PL/SQL• REGISTROS PL/SQL3-22 Copyright © Oracle Corporation, 1998. All rights reserved.


<strong>Variables</strong> LOBFórmula-recipe-(CLOB)Foto(BLOB)Película(BFILE)NCLOB3-23 Copyright © Oracle Corporation, 1998. All rights reserved.


<strong>Variables</strong> <strong>de</strong> Enlace (Bind)Variable Bind <strong>de</strong>lSistema OperativoServer3-24 Copyright © Oracle Corporation, 1998. All rights reserved.


Referenciando <strong>Variables</strong>No-PL/SQLAlmacenar el salario anual en una variableglobal <strong>de</strong> SQL*Plus.:g_monthly_sal := := v_sal / 12;• Referenciar variables no-PL/SQL comovariables Host.• Prece<strong>de</strong>r las referencias con dos puntos ( : )3-25 Copyright © Oracle Corporation, 1998. All rights reserved.


Resumen• Bloques PL/SQL– Compuestos <strong>de</strong> las secciones:– Declarativa (opcional).– Ejecutable (obligatoria).– Manejo <strong>de</strong> Excepciones (opcional).– Pue<strong>de</strong>n ser un bloqueanónimo, procedimiento ofunción..DECLAREBEGINEXCEPTIONEND;3-26 Copyright © Oracle Corporation, 1998. All rights reserved.


Resumen• I<strong>de</strong>ntificadores PL/SQL:– Definidos en la sección DECLARE.– Pue<strong>de</strong>n ser: escalar, compuesto,referenciado o LOB.– Pue<strong>de</strong>n estar basados en laestructura <strong>de</strong> otra variable u objeto<strong>de</strong> la B.D.– Pue<strong>de</strong>n ser inicializados.3-27 Copyright © Oracle Corporation, 1998. All rights reserved.


Visión General <strong>de</strong> la Práctica• Determinar la vali<strong>de</strong>z <strong>de</strong> <strong>de</strong>claraciones.• Desarrollo <strong>de</strong> un bloque PL/SQL simple.3-28 Copyright © Oracle Corporation, 1998. All rights reserved.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!