使用来自 Select 的值插入查询
Posted
技术标签:
【中文标题】使用来自 Select 的值插入查询【英文标题】:Insert query with value from Select 【发布时间】:2018-06-12 09:53:51 【问题描述】:我正在尝试使用 Select 查询 2 个不同的表,结果是一个字符串列表。
select Lock
from [dbo].[LabelLock]
where [Value] = @Label
UNION
select Lock
from [dbo].[ProdLock]
where [Value] = @Process
到目前为止一切都很好。我想要的是某种方式以这种方式将上述 Select 的每个结果的记录插入到我的 [Locks] 表中:
insert into [dbo].[Locks]
(Id, Locks)
values (@Id, .....)
所以@Id 始终是固定的,但锁应该来自 Select,我希望为 Select 查询提供的每个结果插入一条记录。我怎样才能以聪明的方式实现这一目标?提前致谢!
【问题讨论】:
您的代码看起来不像 mysql 代码。您确定您使用的是 MySQL 而不是 SQL Server? 【参考方案1】:INSERT INTO
[dbo].[Locks]
(
Id,
Locks
)
SELECT
@Id,
Lock
FROM
[dbo].[LabelLock]
WHERE
[Value] = @Label
UNION
SELECT
@Id,
Lock
FROM
[dbo].[ProdLock]
WHERE
[Value] = @Process
【讨论】:
表格中没有可供选择的 ID。 Id 并非来自那里 您在 Id 前面加上 @ 表示参数/变量。那你想做什么? Locks 表中的 Id 列是自动递增的值吗? 好吧,插入的值不用Values关键字来表示? 不,插入不需要 value 关键字。以上是关于使用来自 Select 的值插入查询的主要内容,如果未能解决你的问题,请参考以下文章