Clase N

Páginas: 18 (4459 palabras) Publicado: 5 de mayo de 2012
1. Objetivo
El objetivo de este documento es mostrar cómo parametrizar la base de datos oracle para que se puedan realizar búsquedas en una base de datos ORACLE 10g, siendo sensible esta búsqueda a mayúsculas y a minúsculas y distinguiendo también los acentos.
2. Introducción
Las operaciones dentro de una base de datos oracle siempre son sensibles a mayúsculas, minúsculas y a los acentos.Algunas veces es necesario realizar búsquedas que no sean sensibles a mayúsculas y minúsculas y realizar comparaciones sin tener en cuenta los acentos.

En las versiones anteriores de base de datos, este “problema” se tenía que solventar utilizando las funciones NLS_UPPER y NLS_LOWER . Estas funciones cambiaban la palabra buscada de mayúsculas a minúsculas (o viceversa) para poder realizar este tipode búsquedas.

Estas dos funciones  pueden ser incómodas a la hora de utilizarlas puesto que necesitan usarse en la lógica del programa en casa búsqueda. Una solución parcial a este problema se obtuvo en la versión ORACLE9i Release 2(9.2), usando la búsqueda mediante GENERIC_BASELETTER el cual agrupa todos los caracteres basados en el “valor base”.
3. Ejemplo de búsquedas en Oracle 10gPongamos un ejemplo para ver cómo realizar esta búsqueda pudiendo distinguir entre mayúsculas, minúsculas y acentos. Vamos a crear una tabla denominada persona con un único atributo denominado nombre y vamos a introducir los siguientes datos:
CREATE TABLE persona (nombre VARCHAR2(20));
INSERT INTO persona VALUES (‘RAMON’);
INSERT INTO persona VALUES (‘Ramón’);
INSERT INTO personaVALUES (‘RAMon’);
INSERT INTO persona VALUES (‘ramón’);
INSERT INTO persona VALUES (‘ramon’);
Ahora con los valores por defecto que tiene la base de datos realizamos una búsqueda:
SELECT nombre FROM persona where nombre = ‘RAMON’
-------------------------------------------------
RAMON
Como observamos, en este caso no se ha hecho distinción entre mayúsculas y minúsculas y sólose obtiene el resultado idéntico a nuestra comparación. Como hemos dicho en algunos casos es necesario obtener todos los demás datos sin tener en cuenta si es mayúscula o minúscula o que contenga acentos. Para ellos vamos a realizar las siguientes modificaciones en nuestra sesión:
ALTER SESSION SET NLS_COMP=ANSI;
ALTER SESSION SET NLS_SORT=GENERIC_BASELETTER;
Una vez realizadosestos cambios realizamos la misma consulta que hemos hecho antes:
SELECT nombre FROM persona where nombre = ‘RAMON’
-------------------------------------------------
RAMON
Ramón
RAMon
ramón
ramon
Todas estas anotaciones funcionan cuando utilizamos expresiones de igualdad, si queremos utilizar el operador like, lo anteriormente explicado no sirve puesto que no está soportado.No obstante si queremos realizar búsquedas utilizando like y que sean case- insensitive habría que utilizar la función REGEXP_LIKE con las modificaciones anteriormente explicadas.

Ejemplo de regexp_like:
SELECT  nombre FROM persona WHERE regexp_like ( name,’Ramon’);
-------------------------------------------------
 
En el tutorial anterior vimos una introducción allenguaje de consultas de Hibernate, el Hibernate Query Language (HQL) y vimos algunas de sus características.

También vimos como ejecutar consultas desde el editor del NetBeans, y desde código dentro de una aplicación de ejemplo.

En esta segunda parte veremos el resto de las clausulas que componen este lenguaje y seguiremos con ejemplos en código.

Lo último que vimos fue como recuperar unalista con solo algunos valores de un objeto y colocarlos en un objeto “java.util.List” usando una sentencia SELECT con la sintaxis “SELECT NEW LIST”.

Esta no es la única forma en la que podemos recuperar valores de un objeto dentro de una colección. Además tenemos la opción de recuperar una lista de objetos tipo “java.util.Map”, en donde las llaves son las columnas que queremos consultar, y...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • PLANIFICACI N CLASE A CLASE Lenguaje
  • Clase n 1Introduccio n Corrosio n 1
  • Clase N 1
  • Clase N 1
  • PLAN DE CLASE N 2
  • CLASE N 10 LOS ECOSISTEMAS
  • CLASES Marketing N 5
  • III CLASE Comunicaci N

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS