【发布时间】:2022-01-18 22:11:46
【问题描述】:
假设我想从 SQL (postgres) 中的现有表创建一个新表。我希望新表与旧表同名,但我希望它位于不同的架构中。
有没有办法做到这一点,而不必重复两个表的名称(谁共享一个名称?)
假设原始表的名称是public.student
CREATE TABLE student(
student_id INT PRIMARY KEY,
last_name VARCHAR(30),
major VARCHAR(30))
现在我想要准确的表格,但我希望它在 test.student 我知道我会通过
“克隆”该表CREATE TABLE test.student AS
SELECT *
FROM public.student;
但我想写这个而不必重复写“学生”。 有没有办法为此编写函数?
我对 SQL 很陌生,所以我很感谢你的帮助!我查看了函数,但无法使其工作。
【问题讨论】:
-
没有。否则数据库将不知道正在使用哪个表来创建另一个表。
-
定义“重复”。你的意思是,你只想输入一次?并且始终是您的 Postgres 版本。
-
是的,我只想写一次“学生”(这个名字实际上要复杂得多)。我使用的是 14.1 的最新版本
标签: sql postgresql function dry