最初の問題は、レコード セットをループすることを最初の選択肢として考えるべきではないということです。ここにあるので、ほとんどの場合、間違った選択です。あなたの次の問題は、トリガーが一度に 1 つずつではなく、レコードのセット全体を処理することです。あなたの説明から、一度に 1 つのレコードを処理すると仮定して書いたに違いありません。セットベースのプロセスが必要です。
おそらく、国テーブルにまだないすべての国を挿入するトリガーで次のようなものが必要になるでしょう (これは、country_Id が整数の ID 列であると想定しています):
Insert country (country_name)
select country_name
from inserted i
where not exists
(select * from country c
where c.country_name = i.country_name)
トリガーの代わりにストアド プロシージャを使用して、ステージング テーブルから実際のテーブルに挿入することもできます。