暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GBase 8s中的虚拟列

Dr.王 2022-10-27
295

 

虚拟列是指使用表达式或函数进行定义的数据列。逻辑上,表的虚拟列与普通列具有相同的语法含 义,但虚拟列的值并不保存在任何物理存储介质上,而是在 SQL 的执行过程中,根据定义虚拟列 的表达式或函数进行计算而获得。

 

虚拟列语法图:




创建一个带虚拟列的表:

例如,创建带虚拟列的表 employee,其中 total_sal 为表达式定义的虚拟列:

CREATE TABLE employee

 (

empl_ID INT,

empl_Nm VARCHAR(50),

monthly_Sal DECIMAL(10,2),

bonus DECIMAL(10,2),

total_Sal DECIMAL(10,2) GENERATED ALWAYS AS (monthly_Sal*12 + bonus)

);

向带虚拟列的表中插入数据 对虚拟列执行 INSERT 操作,需明确写出插入表的各字段名称。

例如,向带虚拟列的表中正确插入数据:

INSERT INTO employee(empl_ID,empl_Nm,monthly_Sal,bonus) VALUES(1,'zhangSan',9000,560);

返回结果:成功

只写表名不明确写出各字段名称:

INSERT INTO employee VALUES(1,'zhangSan',9000,560);

返回结果:报错误代码-981

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论