0

次の(擬似コード)例のように、Stataでプリペアドステートメントを使用したいと思います。

for each key in keylist
   odbc load, exec("SELECT * FROM table where tablekey = $key")
   do stuff
end

keyパラメータ値をステートメントに取り込むにはどうすればよいですか?文字列連結、ローカル変数などを試しましたが、何も機能しません。Java()のようなプリペアドステートメントがあるかどうか知りたいのですがSELECT * FROM Table WHERE tablekey = ?

4

1 に答える 1

2

help localStataで読んでください。ローカルマクロは、一重引用符(1の左側)で始まり、終了一重引用符(Enterの左側)で終わります。そして、かもしれませんhelp foreach。正しい構文は

   local keylist "the actual list of keys"
   foreach key of local keylist {
      odbc load, exec("SELECT * FROM table where tablekey = `key'")
      save thisdataset`key', replace
   }

(Stataは私が知っている唯一のプログラミング環境です:))。

于 2012-09-03T03:11:51.433 に答える