INSERT 语句的其他主要形式以 SELECT 语句替代 VALUES 子句。
此特性允许您插入下
列数据:
仅用一条语句处理多个行(每当 SELECT 语句返回一行,就插入一行)
GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司
- 172 -
计算值(VALUES 子句仅允许常量),由于 projection 列表可包含表达式
例如,假设对于已付款但尚未装运的每个订单都需要电话跟进。下列示例中的 INSERT 语
句找到那些订单并为每一订单在 cust_calls 中插入一行:
INSERT INTO cust_calls (customer_num, call_descr)
SELECT customer_num, order_num FROM orders
WHERE paid_date IS NOT NULL
AND ship_date IS NULL;
此 SELECT 语句返回两列。将来自这些列的数据(在每一选择了的行中)插入
到 cust_calls 表的命名了的列内。然后,将(来自 SERIAL 列order_num 的)订单编号插入
到呼叫描述,这是一个字符列。请记住,数据库服务器允许您将整数值插入到字符列内。
它自动地将序列编号转换为十进制数字的字符串。