FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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. |
#2
|
||||
|
||||
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
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#3
|
||||
|
||||
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));
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#4
|
|||
|
|||
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... |
|
|
|