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




No hay comentarios.:

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...