【发布时间】:2019-11-26 09:30:43
【问题描述】:
我有多个 SQL 插入,我正在尝试通过更改 1 个单词(国家/地区)自动复制这些插入,从预定义的单词列表(国家/地区)填充。
insert into TABLE_1 (FIELD, VALUE, SITE_ID) values('WEBSITE,COUNTRY', 'abc.com,xxx',12345);
我有一个国家列表(大约 200 个),我希望将其复制到上述插入(以及许多其他插入)中
所以 - 结果应该是这样的:
insert into TABLE_1 (FIELD, VALUE, SITE_ID) values('WEBSITE,COUNTRY', 'abc.com,United Kingdom',12345);
insert into TABLE_1 (FIELD, VALUE, SITE_ID) values('WEBSITE,COUNTRY', 'abc.com,Sweden',12345);
insert into TABLE_1 (FIELD, VALUE, SITE_ID) values('WEBSITE,COUNTRY', 'abc.com,France',12345);
insert into TABLE_1 (FIELD, VALUE, SITE_ID) values('WEBSITE,COUNTRY', 'abc.com,Germany',12345);
...等等
我找到了一个 shell 脚本来为 1 个单词的实例执行此操作:
sed -i 's/old-text/new-text/g' input.txt.
...但我猜我需要某种循环来遍历我的列表。而且我在外面(任何地方)都找不到这样的东西
提前感谢您的帮助
【问题讨论】:
-
可以使用
INSERT INTO ...(...). SELECT <fieldvaluesstoinsert> ...进行多次插入,例如来自不同的表...一些列可能是常量,另一些可能来自其他表... -
这是 SQL 问题还是 shell 问题?
-
@SalmanA 这是一个关于我的 SQL 插入的 shell 问题
-
国家/地区列表的存储位置/方式 - 在表格中?在一个文件中?非常不同的方法,取决于这个输入
-
@dash-o 我将处理 1 个(或 2 个)文本文件。大约 3k 行 - 其中一些将包含需要由国家/地区替换的
xxx文本。希望能更好地解释我的问题