Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.
Oracle/PLSQL: Recuperando el valor de un campo LARGO
Pregunta: Tengo una tabla en Oracle con un campo de tipo de datos LARGO. ¿Cómo puedo extraer el contenido de este campo LARGO?
Si ejecuto la declaración SQL a continuación, simplemente regresa
seleccione event_details de vlts_event_data;
R: En Oracle, los campos LARGOS son un poco complicados. Sin embargo, puede usar el código PLSQL para determinar el valor de un campo LARGO.
A continuación se muestra un ejemplo de una función que devuelve el valor de un campo LARGO denominado SEARCH_CONDITION. Esta función acepta valores de clave principal (campos de propietario y nombre de restricción) y devuelve el valor del campo SEARCH_CONDITION del registro seleccionado.
CREATE or REPLACE function Find_Value ( av_owner varchar2, av_cname varchar2) RETURN varchar2 IS long_var LONG; BEGIN SELECT SEARCH_CONDITION INTO long_var FROM ALL_CONSTRAINTS WHERE owner = av_owner AND constraint_name = av_cname; return long_var; END;
Después de crear la función anterior, puede hacer referencia a la función en las instrucciones SQL. Por ejemplo,
SELECT owner, constraint_name, Find_Value(owner, constraint_name) FROM ALL_CONSTRAINTS;
Esta instrucción SQL recuperará los campos propietario y nombre_restricción, y el valor almacenado en el campo CONDICIÓN_BÚSQUEDA, de la tabla TODAS_RESTRICCIONES.
Puede modificar la función Find_Value para hacer referencia a su propia tabla y nombres de campo. También debe modificar los parámetros de la función para pasar su propio valor de clave principal.