Indices que dependan de funciones almacenadas
Hola, quiero crear un indice que dependa de una función almacenada, es decir, del valor que devuelva y no que dependa de una campo de la tabla.
Podría alguien comentarme cual es la sentencia sql necesaria para crear este tipo de indicies y como sería el funcionamiento del índice. Muy agradecida. Mer. |
He probado sobre oracle 8 y esta característica no está disponible. Encuentro el error
ORA-00439: feature not enabled: Function-based indexes ahora no tengo a la mano oracle 9i, pues mi servidor de pruebas esta abajo... :( La sentencia debiera ser: Código:
create index NombreIndice on NombreTabla(Funcion(argumentos)) y demas opciones de almacenamiento; Hasta luego ;) |
Tienes que tener en cuenta que esto solo funciona a partir de Oracle 8i
Código:
CREATE INDEX NDX_UPPER_APELLIDO ON EMPLEADOS (UPPER(APELLIDO)); |
Hola, muchas gracias por vuestras respuestas...
comentarles que he probado lo que me indican... y buscando en internet he visto que la función almacenada de oracle que quiera poder poner en la declaración del índice debe definirse como DETERMINISTIC por ejemplo: me creo la función.. -------------------------------------- CREATE FUNCTION FUNC_NOMBRE ( p1 in varchar) RETURN varchar DETERMINISTIC IS BEGIN RETURN upper(p1) ; END; y creo el indice... CREATE INDEX INDX_TABLA_A ON TABLA_A (FUNC_NOMBRE(NOMBRE) ) / Y Siempre me da un error de privilegios insuficientes. El administrador de la BD me ha otorgado todos los permisos pero no funciona.... sigue igual Estoy trabajando con una BD Oracle 8.1.5.0.0 No he podido probarlo en 9i... saben si se puede en 9i??? y que significa definir la función como DETERMINISTC??? GRacias... |
La franja horaria es GMT +2. Ahora son las 08:29:37. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi