MD5 (Algoritmo de Resumen del Mensaje 5) es un algoritmo de cifrado de 128 relativamente seguro. Una codificación de MD5 es generalmente un número de 32 dígitos hexadecimal.
En PL/SQL podemos cifrar cadenas de texto usando la función DBMS_OBFUSCATION_TOOLKIT.MD5 de esta forma:
PLAIN TEXT
PLSQL:
DECLARE
cifrado_raw VARCHAR2(100);
texto_cifrado VARCHAR2(100);
BEGIN
--Se obtiene un texto cifrado en "crudo"
cifrado_raw := DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT_STRING => 'cadena a [...]
Un tip de PL/SQL que es simple, pero que les puede ahorrar algunos dolores de cabeza. Imaginen que tienen el código de abajo, cuál creen que sea la salida?
PLAIN TEXT
PLSQL:
DECLARE
--se asigna a una cadena vacía (dos comillas simples sin espacio entre ellas)
v_cadena VARCHAR2(20) := '';
BEGIN
IF v_cadena = '' THEN
DBMS_OUTPUT.put_line('EN EL IF');
ELSE
DBMS_OUTPUT.put_line('EN EL ELSE');
END IF;
END;
Si [...]
En PL SQL, el error ORA-01422: Exact fetch returns more than requested number of rows se produce cuando se tiene una consulta SELECT - INTO que devuelve más de una fila.
Por ejemplo:
PLAIN TEXT
PLSQL:
DECLARE
n_orderid NUMBER;
BEGIN
SELECT o.orderId
INTO n_orderid
FROM t_ordenes o
WHERE o.status = 'a'
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.put_line('Error '||SQLERRM);
END;
Si es que la se tienen varias filas que cumplan la [...]
Julio 14, 2008 – 12:14 am
Hace unos días me llegaron algunos libros que compré en Amazon y voy a recomendarles un par de ellos. Ambos son de categorías diferentes, pero vienen muy bien para quien esté interesado en los temas que abordan.
GIMP 2 for Photographers: Hace poco me he aficionado a la fotografía así que compré este libro para [...]
En una anterior entrada mostraba cómo manejar cursores en PL SQL, ahora veremos cómo manejar cursores con parámetros.
Los cursores con parámetros son útiles cuando queremos restringir los resultados de la consulta, también son prácticos porque los declararemos como variables (no es necesario reescribir el código) y si no es necesario utilizar todas las columnas devueltas [...]
Los cursores son estructuras que se pueden utilizar cuando queremos almacenar los resultados de un SELECT que devuelve varias filas.
Son sencillos de implementar pero tienen algunas desventajas: si agregamos posteriormente columnas al SELECT, tendremos que agregarlas en cada lugar en donde hagamos un FETCH del cursor (lo que complica las cosas cuando se tienen [...]