Visual FoxPro 9で記述されたレガシーアプリケーションをサポートしていますが、空きテーブルのインデックス列の値を変更する方法についてのガイダンスが必要です。
テーブルの定義は次のとおりです。
「nversion」列に特定の値(たとえば、「22.30」)が含まれている場合、「lrecordno」列の値を1,000ずつインクリメントしたいと思います。
これを達成するための適切な手順の順序は何ですか?ありがとうございました。
Visual FoxPro 9で記述されたレガシーアプリケーションをサポートしていますが、空きテーブルのインデックス列の値を変更する方法についてのガイダンスが必要です。
テーブルの定義は次のとおりです。
「nversion」列に特定の値(たとえば、「22.30」)が含まれている場合、「lrecordno」列の値を1,000ずつインクリメントしたいと思います。
これを達成するための適切な手順の順序は何ですか?ありがとうございました。
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
句に一致するすべてのレコードに影響します。
やりたいことが安全かどうかを示すのに十分な情報を表示していません。iRecordNoがテーブルの主キーまたは候補キーである場合、その値をプログラムで変更するとエラーが発生する可能性があります。
では、そのフィールドにはどのようなインデックスがありますか?それがプライマリまたは候補である場合、そもそもどのようにしてその値を取得しますか?あなたが示している図から、それは自動インクリメントではありません。
タマール