0

Visual FoxPro 9で記述されたレガシーアプリケーションをサポートしていますが、空きテーブルのインデックス列の値を変更する方法についてのガイダンスが必要です。

テーブルの定義は次のとおりです。 テーブル定義

「nversion」列に特定の値(たとえば、「22.30」)が含まれている場合、「lrecordno」列の値を1,000ずつインクリメントしたいと思います。

これを達成するための適切な手順の順序は何ですか?ありがとうございました。

4

2 に答える 2

3

SQLを使用してVisualFoxProで作業している場合:

USE tableName SHARED
UPDATE tableName SET lrecordno = lrecordno + 1000 WHERE nversion = 22.30
USE

または、FoxProREPLACEコマンドを使用します。

USE tableName SHARED
REPLACE lrecordno WITH lrecordno + 1000 FOR nversion = 22.30
USE

WHEREこれらは、 orFOR句に一致するすべてのレコードに影響します。

于 2012-05-22T15:41:11.287 に答える
2

やりたいことが安全かどうかを示すのに十分な情報を表示していません。iRecordNoがテーブルの主キーまたは候補キーである場合、その値をプログラムで変更するとエラーが発生する可能性があります。

では、そのフィールドにはどのようなインデックスがありますか?それがプライマリまたは候補である場合、そもそもどのようにしてその値を取得しますか?あなたが示している図から、それは自動インクリメントではありません。

タマール

于 2012-05-22T20:35:17.897 に答える