Inicio > Oracle > Sintaxis de declaración de variables

Sintaxis de declaración de variables


La sintaxis general de declarar una variable es :
nombre_variable TipoDato[Size] [NOT NULL] := [ value ];
  1. nombre_variable es el nombre predefinido de la variable.
  2. El tipo de datos es un tipo de datos PL / SQL válida .
  3. El tamaño es una especificación opcional del tamaño de tipo de datos para mantener el valor de tamaño máximo.
  4. NOT NULL es una especificación opcional del valor de la variable no se puede aceptar NULL .
  5. value es también una especificación opcional , donde se puede inicializar el valor de la variable. 6. Cada declaración de variable se termina con un punto y coma.

Variables 001

DECLARE
lnNumEmpleado number(5) NOT NULL := 2;           — NOT NULL ( valor no puede estar en blanco ) , Asignar valor inicial
lcNombreEmpleado varchar2(15) := ‘Branson Devs’; — intialize valor en el momento de la declaración
BEGIN
dbms_output.put_line(‘Declaracion de Valores:’);
dbms_output.put_line(‘Numero Empleados: ‘ || lnNumEmpleado || ‘ Nombre Empleado: ‘ || lcNombreEmpleado);
END;
/

Alcance de las Variables

PL / SQL identifica el rango de región que puede hacer referencia una variable. PL / SQL tiene dos tipos de ámbitos ámbito local y alcance global,

Las variables locales – Variables declaradas en el bloque interior y no pueden ser referenciados por los bloques externos.

Las variables globales – Son variables declaradas en un bloque exterior y puede estar haciendo referencia en los bloques interiores.

DECLARE
num1 number := 10;
num2 number := 20;
BEGIN
    DECLARE
num_adicional number;
BEGIN
num_adicional := num1 + num2;
dbms_output.put_line(‘La suma es: ‘ || num_adicional);
END— Fin de acceso a variables num_adicional
END;
/

Variables 002

Este ejemplo muestra una diferencia entre el bloque interior y bloque exterior para el alcance de una variable. Se puede utilizar la palabra clave OUTER accediendo a la variable de bloque exterior dentro del bloque interior .

DECLARE
num number := 11;
BEGIN
    DECLARE
num number := 10;
BEGIN
        IF num = outer.num THEN
DBMS_OUTPUT.PUT_LINE(‘Ambas variables tiene el mismo valor’);
ELSE
DBMS_OUTPUT.PUT_LINE(‘Diferentes valores’);
       END IF;
    END;  — Fin de alcance para la variable num
END;
/
Asignación de valores a variables PL/SQL desde una  consulta SQL
Creamos una tabla clientes
CREATE TABLE CLIENTES(
ID                INT NOT NULL,
Nombre     VARCHAR (20) NOT NULL,
Edad           INT NOT NULL,
Direccion  CHAR (25),
Salario       DECIMAL (18, 2),
   PRIMARY KEY (ID)
);
Le insertamos registros :
INSERT INTO Clientes (ID,nombre,edad,direccion,salario)
VALUES (1, ‘Ricardo’, 32, ‘Huaman’, 2000.00 );

INSERT INTO Clientes (ID,nombre,edad,direccion,salario)
VALUES (2, ‘Juan’, 25, ‘Avila’, 1500.00 );

INSERT INTO Clientes (ID,nombre,edad,direccion,salario)
VALUES (3, ‘Aldo’, 23, ‘Laderas’, 2000.00 );

INSERT INTO Clientes (ID,nombre,edad,direccion,salario)
VALUES (4, ‘Victor’, 25, ‘Moreno’, 6500.00 );

INSERT INTO Clientes (ID,nombre,edad,direccion,salario)
VALUES (5, ‘Miguel’, 27, ‘Huaman’, 8500.00 );

INSERT INTO Clientes (ID,nombre,edad,direccion,salario)
VALUES (6, ‘Carlos’, 22, ‘Campos’, 4500.00 );

El siguiente programa asigna valores de la tabla de arriba para las variables PL / SQL con la cláusula SELECT INTO de SQL:
Variables 003
DECLARE
c_id              CLIENTES.ID%type := 1;
c_nombre   CLIENTES.NOMBRE%type;
c_direcc      CLIENTES.DIRECCION%type;
c_salario     CLIENTES.SALARIO%type;
BEGIN
SELECT NOMBRE, DIRECCION, SALARIO INTO c_nombre, c_direcc, c_salario
FROM CLIENTES
WHERE id = c_id;
dbms_output.put_line(‘Cliente : ‘ ||c_nombre || ‘ de ‘ || c_direcc || ‘ con salario ‘ || c_salario);
END;
/
logo shipment4you 342 68 PNG ESP WEB
Categorías:Oracle
  1. Aún no hay comentarios.
  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: