| Convenio de derechos… en Ciencia y Desarrollo en Améric… | |
| marta en Loja Ecuador, Conozca mi … | |
| vane en Loja Ecuador, Conozca mi … |

My site is worth $2,053.
How much is yours worth?
| L | M | X | J | V | S | D |
|---|---|---|---|---|---|---|
| « Oct | ||||||
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 | ||||||
|
Mayo 14, 2008 a las 8:13 pm
Para diferenciar variables con el mismo nombre en diferentes bloques anidados, es posible utilizar etiquetas las cuales nos proveen de una forma fácil para referenciarlas.
En el ejemplo siguiente, donde dos bloques pl/sql poseen variables con el mismo nombre, utilizamos la etiqueta <> para referenciar a las del nivel más externo dentro del bloque.
SET SERVEROUTPUT ON
<>
DECLARE
v_sal NUMBER(7,2):=60000;
v_comm NUMBER(7,2):= v_sal*0.20;
v_message VARCHAR2(255):=’ eligible for commission’;
BEGIN
DECLARE
v_sal NUMBER(7,2):=50000;
v_comm NUMBER(7,2):= 0;
v_total_comp NUMBER(7,2):=v_sal+v_comm;
BEGIN
v_message:=’CLERK not’||v_message;
outer.v_comm:=v_sal*0.30;
DBMS_OUTPUT.PUT_LINE(‘Valor v_message posicion 1: ‘||v_message);
DBMS_OUTPUT.PUT_LINE(‘Valor v_comm posicion 1: ‘||v_comm);
DBMS_OUTPUT.PUT_LINE(‘Valor outer.v_comm posicion 1: ‘||outer.v_comm);
END;
v_message:=’SALESMAN’||v_message;
— DBMS_OUTPUT.PUT_LINE(‘Valor v_total_comp posicion 2: ‘||v_total_comp);–error no puedo referenciar
–desde afuera hacia adentro.(al reves sí)
DBMS_OUTPUT.PUT_LINE(‘Valor v_comm posicion 2: ‘||v_comm);
DBMS_OUTPUT.PUT_LINE(‘Valor v_message posicion 2: ‘||v_message);
END;
____________________________________________________________________
Respuesta:
Valor v_message posicion 1: CLERK not eligible for commission
Valor v_comm posicion 1: 0
Valor outer.v_comm posicion 1: 15000
Valor v_comm posicion 2: 15000
Valor v_message posicion 2: SALESMANCLERK not eligible for commission
Procedimiento PL/SQL terminado correctamente.
Junio 3, 2008 a las 7:38 pm
El valor inicial de cualquier variable, independientemente de su tipo, es NULL. Podemos asignar valores a las variables, usando el operador “: =”.
La asignacion puede ocurrir ya sea inmediatamente cuando se la declara, o en cualquier otra parte ejecutable del programa. Como se muestra en el siguiente ejemplo:
DECLARE
v_variable NUMBER := 33;
BEGIN
v_variable := v_variable + 7;
END;
Correr este programa no afecta en nada a la base de datos