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 [...]
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 = '' [...]
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 [...]
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 [...]
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 [...]