sábado, 13 de julio de 2019

Campos o Columnas Virtuales

Las columnas virtuales constituyen una de las nuevas características introducidas en Oracle Database 11g e incluida en la Edición Express 11g Versión 2 y posteriores. Consiste en campos que obtienen sus valores a partir de expresiones que hacen referencia a otras columnas, tales expresiones pueden incluir llamadas a funciones.

Un ejemplo concreto: Crearemos una tabla que registre la venta de productos agregando los campos siguientes:
compra_id, producto_id, precio, cantidad, importe.

  1. Ejecutar la línea de comandos SQL.
  2. Conectarse como usuario SYSTEM:
          
conn system/sucontraseña@localhost:1521/XEPDB1

  1. Crear un usuario con nombre: SHOP.       
CREATE USER SHOP IDENTIFIED BY XYZ2011 DEFAULT TABLESPACE USERS;

    4. Otorgar roles CONNECT y RESOURCE.
 
         GRANT CONNECT,RESOURCE TO SHOP;

    5. Desconectarse con el comando disc;
           SQL>disc;

    6. Conectarse como usuario SHOP.
           CONN SHOP/XYZ2011@localhost:1521/XEPDB1

    7. Introducir la siguiente sentencia:
        CREATE TABLE VENTAS(
               PRODUCTO_ID NUMBER(6) NOT NULL,
               COMPRA_ID   NUMBER(5) NOT NULL,        
               CANTIDAD    NUMBER(7,3) NOT NULL,
               PRECIO      NUMBER(7,3) NOT NULL,
               IMPORTE  NUMBER GENERATED ALWAYS AS
               (CANTIDAD*PRECIO) VIRTUAL
          );

    8. Insertar un registro de prueba.
         INSERT INTO VENTAS( PRODUCTO_ID,
                         COMPRA_ID,
                         CANTIDAD,
                         PRECIO)
       VALUES(220,350,10,20.35);

    9. Seleccionar el registro insertado con la sentencia:
        SELECT *
         FROM VENTAS;
 
 

Espero sirva de ayuda.

Roberto Párraga Zambrano




Entrada destacada

Cómo instalar Oracle Database 18c Express Edition para Windows

Oracle Database 18c XE ya está disponible para Windows 64bit, en este post se enseñará como instalar y configurar esta nueva versión en W...