我有一组表格,我正在混合在一起。如果我需要添加更多内容,我希望以后能够返回并访问“原始”数据。我这样做的方法是在汇编表中添加一个引用列,该表将包含数据所来自的表的表名。
当我从他们那里查询时,如何访问我的表名?
编辑:详情:
我正在创建的表格如下:
CREATE TABLE combined_things WITH OIDS AS
(SELECT
thing1.name
thing1.shape
FROM
public.thing1_source_table
UNION
SELECT
thing2.name
thing2.shape
FROM
public.thing2_source_table);
我想添加“来源”字段:
ALTER TABLE combined_things ADD COLUMN source_id character varying(100);
ALTER TABLE comnined_things SET COLUMN source_id = {table_name}
我不知道如何拉{table_name}
答案 0 :(得分:1)
您可以在创建表格时将它们添加为字符串常量
CREATE TABLE combined_things WITH OIDS AS
(SELECT
thing1.name,
thing1.shape,
CAST('public.thing1_source_table' AS CHAR(100)) source_id
FROM
public.thing1_source_table
UNION
SELECT
thing2.name,
thing2.shape,
'public.thing2_source_table'
FROM
public.thing2_source_table);
请注意,无法将列转换为varchar