我能以任何方式读取SQL项目ID,并将具有新值的行添加到同一项目ID中吗?

时间:2013-11-19 19:50:14

标签: sql postgresql dspace

如果你们中的任何人都知道DSpace及其背后的数据库,你知道你几乎可以改变任何dc.properties。

已提交给DSpace的所有文档都缺少dc.rights字段。我一直在尝试,而且我知道我可以通过在数据库中添加一个带有值的新行来添加字段。

一个接一个地执行它会非常耗时,我想知道是否可以执行读取item_id列的查询以及每个不同的item_id,插入包含相同item_id的行以及所需的值“ metadata_field_id“和”text_value“列。

如果我正在编程,我可能会做一个“for each”循环,但不确定这是否是sql的方法。

任何人都暗示如何做到这一点? 提前致谢

2 个答案:

答案 0 :(得分:1)

INSERT INTO ... SELECT ...可能就是您正在寻找的东西,它将一步处理数据(如果我正确理解您想要实现的目标)。类似的东西:

INSERT INTO some_table (item_id, metadata_field_id, text_value)
SELECT item_id, 'new_metadata', 'new_text_value'
FROM some_table;

答案 1 :(得分:1)

作为替代方案,您还可以使用CSV导出器和上传器对多个项目执行这些类型的批量编辑。在CSV中下载您的商品,为dc.rights添加一列,重新上传,然后就完成了。