0

我希望有人可以提供帮助,我一直在努力解决这个问题。

我有两张桌子。一个保存全球地址数据,一个保存国家名称。

我想根据国家名称为每个国家创建单独的表 - 例如,我想查看国家名称表,获取第一个国家名称,然后扫描地址表,选择正确的记录,然后将它们保存到个别表以国家名作为文件名,通过国家名文件的方式。例如

australia.dbf;
belgium.dbf etc.

我知道它涉及使用光标和 SCAN,但无法理解语法。

谢谢

4

1 回答 1

1

这应该可以满足您的需求。我也让它从你运行它的任何地方为“PerCountry”创建一个子文件夹,所以每个国家都将放在那个文件夹中。您显然可以事后从那里转移。

MD "PerCountry"

SELECT distinct country;
   FROM globalAddresses;
   INTO CURSOR C_JustCountry READWRITE 

SELECT C_JustCountry
SCAN 
   */ If a country has ANY spaces, change them to underscores
   cCurrentCountry = C_JustCountry.Country
   cNewOutputFile = "PerCountry\" + CHRTRAN( ALLTRIM(C_JustCountry.Country), " ", "_" )

   SELECT * ;
      from globalAddresses ;
      where country = cCurrentCountry ;
      INTO TABLE &cNewOutputFile
ENDSCAN

CLOSE TABLES all
于 2014-04-09T11:23:47.597 回答