Supongamos que queremos actualizar en nuestra bbdd ORACLE el campo de costes de la tabla de hechos FAC_TABLE con el coste unitario de nuestra tabla de COSTES.
Podemos hacerlo de dos maneras:
1. (Lenta, pero si es para pocos datos o para lanzarlo esporádicamente nos puede valer)
update FAC_TABLE ft
set COSTE_UNITARIO = (select distinct COSTE_UNITARIO from COSTES ct
where (ft.id_articulo = ct.id_articulo);
2. (la mejor manera es esta, y el rendimimento es óptimo si tiene constraints)
UPDATE (
SELECT
ft.COSTE_UNITARIO AS old_coste,
ct.COSTE_UNITARIO AS new_coste
FROM FAC_TABLE ft
INNER JOIN COSTES ct ON ft.id_articulo = ct.id_articulo)
)
SET old_coste = new_coste;
Para que esta segunda oción funcione necesitamos tener UNIQUE or PRIMARY KEY constraint en ct.id_articulo.
Si no tienes esta constraint, puedes utilizar el hint /*+BYPASS_UJVC*/ después de la palabra UPDATE
(bypass update join view constraint). El rendimiento aumenta si tenemos la constraint pero aún sin ella debe correr mucho más que la primera opción.
Espero que os ayude.
Héctor Minguet.
Si tienes el usuario de sistema con el que se ha instalado la base de datos puedes entrar en SQL plus como usuario DBA y sin introducir ninguna contraseña de la siguiente manera:
1. Entra en el sistema con este usuario.
2. Desde la linea de comandos, entra en SQLplus poniendo:
sqlplus "/as sysdba"
si has necesitado entrar así porque no recordabas la contraseña de algún usuario, ya puedes modificarla/s para poder utilizarlo/s después:
SQL> alter user nombre_usuario identified by nuevo_password;
Posteado directamente aqui.
Traera esta compra mejora en la calidad de mysql ? Se conservara la licencia con la que My es distribuido ?
Alguien sabe si en bases de datos Oracle hay alguna manera de limitar el número de conexiones por usuario, o el número de cursores abiertos por conexión de un usuario?
Para los que quieren estar siempre a la última y para los amantes del riesgo, desde el 4 de mayo está disponible la última versión del servidor de base de datos de Oracle para Windows Vista. Se puede descargar en Oracle Database 10g Release 2 para Windows Vista
Si alguien se anima y la prueba puede ser interesante cualquier comentario al respecto..