Columnas generadas es una columna especial que se calcula con la ayuda de otras columnas. La columna generada se actualiza cada vez que se producen cambios en una fila y no se puede anular. En Columnas generadas resultado calculado por referencia a la otra columna de la tabla. La columna de generación solo puede usar funciones inmutables y no puede usar subconsultas.
Las columnas generadas pueden ser de dos tipos, almacenadas o virtuales. Columnas generadas almacenadas evaluadas cuando se escribe como en comando básico (INSERTAR o ACTUALIZAR), ocupa almacenamiento y similar a la vista materializada (excepto que siempre se actualiza automáticamente). Columnas generadas virtuales evaluadas cuando se lee, no ocupa almacenamiento y es similar a la vista.
Pero actualmente, PostgreSQL implementa solo columnas generadas almacenadas.
Sintaxis de PostgreSQL para CREAR TABLA usando columnas generadas de la siguiente manera:
CREATE TABLE table_name ( column_name_1 datatype(length) column constrain (if any), column_name_2 datatype(length) column constrain (if any) , . . . . column_name datatype GENERATED ALWAYS AS (expression) STORED );
Se debe especificar una palabra clave ALMACENADA como tipo de columna.
Ejemplo: una expresión de cálculo por columnas generadas:
CREATE TABLE Addition ( number_1 int, number_2 int, number_3 int, add int GENERATED ALWAYS AS (number_1 + number_2 + number_3) STORED ) INSERT INTO Addition(number_1, number_2, number_3) VALUES (1,2,3) , (8,-9,2) , (7,1 ,NULL); TABLE Addition;
Producción:
Publicación traducida automáticamente
Artículo escrito por shivanijaiswal6300 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA