gpt4 book ai didi

sql - 将数据库中一个表的值插入到另一个数据库中的另一个表中

转载 作者:行者123 更新时间:2023-11-29 12:32:58 25 4
gpt4 key购买 nike

我想从 DB1 的表中获取一些数据,并将其中一些数据插入到 DB2 的表中。

如何进行此操作?

这是我目前所得到的:

CREATE VIEW old_study AS
SELECT *
FROM dblink('dbname=mydb', 'select name,begins,ends from study')
AS t1(name varchar(50), register_start date, register_end date);
/*old_study now contains the data I wanna transfer*/

INSERT INTO studies VALUES (nextval('studiesSequence'),name, '',3, 0, register_start, register_end)
SELECT name, register_start, register_end from old_study;

这是我在 DB2 中的表的样子:

CREATE TABLE studies(
id int8 PRIMARY KEY NOT NULL,
name_string VARCHAR(255) NOT NULL,
description VARCHAR(255),
field int8 REFERENCES options_table(id) NOT NULL,
is_active INTEGER NOT NULL,
register_start DATE NOT NULL,
register_end DATE NOT NULL
);

最佳答案

您应该在 insertselect 中包含列名:

insert into vip_employees(name, age, occupation)
select name, age, occupation
from employees;

但是,您的数据结构值得怀疑。或者您应该在 employees 中使用标志来标识“VIP 员工”。 或者您应该在 employees 中有一个主键,并在 vip_employees 中使用这个主键来引用 employees。复制数据字段很少是正确的做法,尤其是对于像年龄这样会随时间变化的列。说到这一点,您通常会根据出生日期得出年龄,而不是直接将其存储在表中。

关于sql - 将数据库中一个表的值插入到另一个数据库中的另一个表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33257941/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com