根据特定条件从表中获取已插入数据的插入查询

Posted

技术标签:

【中文标题】根据特定条件从表中获取已插入数据的插入查询【英文标题】:Get Insert query with already inserted data from a table based On certain Conditions 【发布时间】:2015-04-20 15:40:26 【问题描述】:

我有一个名为sampletable 的表

它有 10000 行,我想根据某些条件为该表生成脚本(插入带有插入数据的查询)。

也就是说,我需要在某些条件下插入带有数据的查询

喜欢select * from sampletable where id=10类似的东西

选择查询将只产生 100 行,因此我只需要获取这 100 行作为插入值的插入查询语句

我试过了

Sql Management Studio 生成脚本方法,但它会产生所有行。 我不知道该怎么做,请帮我解决这个问题。

我的目的是我需要备份数据(只有特定条件数据不是全部)

【问题讨论】:

【参考方案1】:

可以通过构建字符串来生成插入查询,例如:

select  'insert into dbo.YourTable (str_col, int_col) values (' +
        isnull('''' + strcol + '''', 'NULL') + ', ' +
        isnull(cast(int_col as varchar(max)), 'NULL') + ');'
from    SampleTable
where   id=10 

如果是一次性工作,您可以使用Tasks->Export Data 和朋友,而不是手动制作 SQL 插入。

【讨论】:

抱歉它将如何生成插入查询??我需要插入查询的数据。我需要备份数据

以上是关于根据特定条件从表中获取已插入数据的插入查询的主要内容,如果未能解决你的问题,请参考以下文章

如何在Oracle中添加一个策略,用户可以从表中选择所有数据,并且只能插入、更新、删除有条件的数据

如何从表中获取数据并将其插入另一个表?

如何从表中获取最后一个插入 ID

如何从表中检索我的最后一个插入行?

从表值参数将数据插入表中

2 个要求:1)用 FORALL 替换多个 FOR 循环 2)在向表中插入数据时使用 IF-THEN-ELSE 条件