Sql 插入多行硬编码数据,并从多结果选择中插入一列
我有以下两个表:Sql 插入多行硬编码数据,并从多结果选择中插入一列,sql,oracle,select,insert-into,Sql,Oracle,Select,Insert Into,我有以下两个表:用户和设置 我要做的是为每个现有用户的设置添加一行。所以在伪代码中: 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中实现这
用户
和设置
我要做的是为每个现有用户的设置添加一行。所以在伪代码中:
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中实现这一点
我看到以下情况:
INSERT INTO MyTable (PriKey, Description)
SELECT ForeignKey, Description
FROM SomeView;
这几乎就是我想要完成的,除了它从另一个表中获取它的所有insert值,而不是只有一个(user\u id
,在我的例子中)和其他的“硬编码”
编辑:我正在将SQL与Oracle数据库一起使用。使用
select。。插入
,并在选择列表中提供常数:
INSERT INTO "Settings" ("name", "value", "type", type_id, overridable)
select 'date_format', 'dd-MM-yyyy', 'USER', user_id, '1'
from users;
@一匹没有名字的马添加了它:SQL和Oracle DB。不相关,但是:你真的应该避免那些可怕的带引号的标识符。@一匹没有名字的马我完全同意,但不幸的是其他人让DB和我以及我团队中的其他人不得不使用它。。如果由我决定,我会选择其他不是SQL关键字的DB列。。我会和团队讨论这个问题,看看我们现在是否应该改变它。谢谢!成功了。比我想象的容易多了。我会在10分钟内接受你的回答。