db2 从一个表筛选数据插入另一张表
时间: 2024-05-22 15:14:23 浏览: 10
可以的,您需要使用 INSERT INTO SELECT 语句,具体语法如下:
INSERT INTO 表名 (列1, 列2, 列3, ...)
SELECT 列1, 列2, 列3, ... FROM 原表名 WHERE 条件;
其中,表名为您要插入数据的目标表,列1、列2、列3...为目标表的列名,原表名为您要从中筛选数据的源表,条件为您要筛选的条件。
相关问题
db2 创建一个从一个表取数插入另一个表的存储过程
好的,下面是一个简单的例子:
```
CREATE OR REPLACE PROCEDURE copy_data (
IN p_source_table VARCHAR(50),
IN p_target_table VARCHAR(50)
)
LANGUAGE SQL
BEGIN
DECLARE v_name VARCHAR(50);
DECLARE v_age INT;
DECLARE v_gender CHAR(1);
DECLARE c1 CURSOR FOR SELECT name, age, gender FROM p_source_table;
OPEN c1;
FETCH c1 INTO v_name, v_age, v_gender;
WHILE (SQLCODE = 0) DO
INSERT INTO p_target_table (name, age, gender)
VALUES (v_name, v_age, v_gender);
FETCH c1 INTO v_name, v_age, v_gender;
END WHILE;
CLOSE c1;
END;
```
请注意,此处的 `p_source_table` 和 `p_target_table` 是输入参数,分别表示源表和目标表的名称。此存储过程使用游标来遍历源表中的每一行,并将其插入到目标表中。你可以根据自己的需求修改表名和插入语句。
DB2里两张关联表同时分别插入数据
可以使用以下 SQL 语句在 DB2 中同时向两张关联表插入数据:
```
INSERT INTO table1 (column1, column2, column3)
VALUES (value1, value2, value3);
INSERT INTO table2 (column4, column5, column6)
VALUES (value4, value5, value6);
```
在这个例子中,`table1` 和 `table2` 是两个关联的表,它们都有三列。你需要将 `column1`、`column2` 和 `column3` 的值插入到 `table1`,将 `column4`、`column5` 和 `column6` 的值插入到 `table2`。你需要将 `value1`、`value2` 和 `value3` 的值分别插入到 `column1`、`column2` 和 `column3`,将 `value4`、`value5` 和 `value6` 的值分别插入到 `column4`、`column5` 和 `column6`。
请注意,你需要确保插入的数据符合每个表的列定义。例如,每个列的数据类型必须与表中定义的数据类型相匹配。