插入带有硬编码数据的多行,以及来自多结果的一列 select

Insert multiple rows with hardcoded data, and one column from a multi-result select

我有以下两个 table:UsersSettings
我想要做的是在每个现有用户的设置中添加一行。所以在伪代码中:

foreach(NUMBER user_id IN Users){
  INSERT INTO "Settings" SET ("name", "value", "type", type_id, overridable)
                       VALUES ('date_format', 'dd-MM-yyyy', 'USER', user_id, '1');
}

如何在 SQL 中执行此操作?

Here at the Using INSERT with the VALUE Clause and a SELECT Subquery part 我看到了以下内容:

INSERT INTO MyTable (PriKey, Description)
   SELECT ForeignKey, Description
   FROM SomeView;

这几乎是我想要完成的,除了它从另一个 table 获取所有它的插入值,而不是只有一个(user_id 在我的例子中)与其他 'hard-coded'.

编辑:我正在使用 SQL 和 Oracle 数据库。

使用 select .. insert 并提供 select 列表中的常量:

INSERT INTO "Settings" ("name", "value", "type", type_id, overridable)
select 'date_format', 'dd-MM-yyyy', 'USER', user_id, '1'
from users;