多数のレコードを一括挿入し、それぞれの最後に挿入された ID をすばやく取得するにはどうすればよいですか (classic asp/ado)?
私はこれを試しましたが、冗談である毎秒約3行でしか実行されません。
rs.Open "myTable", cn,adOpenKeyset, adLockOptimistic
do while NOT rs.EOF
rs.AddNew
rs("text") = myFunction() ' returns some text.
rs.update
lastid = rs("id") ' get new id and so something
loop
通常の adOpenForwardOnly (最後に挿入された ID を返さない) を使用すると、約 1000 倍速く実行されます。
上記の修正または代替ソリューションを提案できる人はいますか? テキストに対して処理関数を実行する必要があるため、SQLを直接... select()などに挿入するのではなく、コードでこれを行う必要があります。