我有一个包含 330 万条记录的表,不想将整个内容从 dev 复制到 prod(在客户端控制的机器上,并且无法让链接服务器正常工作)。
我只想复制 300 条左右的这些记录。如何生成 300 条插入语句?
我想要插入的选择 SQL 是:
select * from data where ID > 9000;
我想要一个能打印出所有 INSERTS 的查询,以便我可以在生产框中复制和运行它。
我有一个包含 330 万条记录的表,不想将整个内容从 dev 复制到 prod(在客户端控制的机器上,并且无法让链接服务器正常工作)。
我只想复制 300 条左右的这些记录。如何生成 300 条插入语句?
我想要插入的选择 SQL 是:
select * from data where ID > 9000;
我想要一个能打印出所有 INSERTS 的查询,以便我可以在生产框中复制和运行它。
我看到你标记了你的帖子 SQL-Server-2005,这太糟糕了,因为 2008 版有一个向导工具。
您可以使用连接的字符串构建插入语句。
如果 field1 是一个字符串, field2 是一个数字:
select 'insert into data (field1, field2) values('' || field1 || '', ' || char(field2) ||');' from data where ID < 9000;
显然,如果您有很多列,考虑到字符串需要引号,这可能会很耗时。您可能也必须使用转换数字列char()
。
这应该会给你一个插入语句的列表,如下所示:
insert into data (field1, field2) values('A', 10);
insert into data (field1, field2) values('B', 20);
insert into data (field1, field2) values('C', 30);
也许这不是最优雅的方法,但它确实有效。