将 SQL 插入中的国家/地区替换为国家/地区列表以创建多个插入



我有多个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....但我猜我需要某种循环来迭代我的列表。而且我在那里(任何地方(都找不到这样的东西

提前感谢您的帮助

希望下面的查询有所帮助。

select * into #countries --all your countries
DECLARE @i int = 0
declare @c varchar(20)
WHILE @i < 201 
BEGIN
SET @c =( select top country_name from #countries order by name desc)
SET @i = @i + 1
insert into TABLE_1 (FIELD, VALUE, SITE_ID) values('WEBSITE,COUNTRY', 
'abc.com,'+@c,12345);
delete from #countries  where country_name=@c
/* your code*/
END

相关内容

最新更新