虚拟列是指使用表达式或函数进行定义的数据列。逻辑上,表的虚拟列与普通列具有相同的语法含 义,但虚拟列的值并不保存在任何物理存储介质上,而是在 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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




