2012-05-22 2 views
0

Visual FoxPro 9로 작성된 레거시 응용 프로그램을 지원하고 있으며 사용 가능한 테이블의 인덱스 열에서 값을 수정하는 방법에 대한 지침이 필요합니다. Table Definition사용 가능한 테이블의 인덱스 열 값을 업데이트하는 방법은 무엇입니까?

는 I는 "n 버전 '항목 (예를 들어,"22.30 ")에 특정 값을 포함한다면 1000으로"lrecordno'항목의 값을 증가하고자 다음과 같이

테이블 정의이다.

이 작업을 수행하기위한 적절한 순서는 무엇입니까? 고맙습니다.

답변

3

당신은 SQL 사용하여 비주얼 폭스 프로에서 작업하는 경우 :

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

을 또는 FoxPro에 REPLACE 명령을 사용하여

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

는이 WHERE 또는 FOR 조항과 일치하는 모든 기록에 영향을 미칠 것입니다.

2

수행하려는 작업이 안전한지 여부를 나타내는 정보가 충분하지 않습니다. iRecordNo가 테이블의 기본 키 또는 후보 키인 경우 값을 프로그래밍 방식으로 수정하면 오류가 발생할 수 있습니다.

그래서이 필드에는 어떤 종류의 색인이 있습니까? 이것이 기본 또는 후보 인 경우, 처음에 그 값을 어떻게 얻습니까? 표시 한 그림에서 자동 증가가 아닙니다.

다말

+0

다말은 후속 주셔서 감사합니다. FoxPro에서 요청하는 정보는 어떻게 얻을 수 있습니까? – DWRoelands

+1

표시된 대화 상자에서 색인 탭을 클릭하면 어떤 종류의 색인을 볼 수 있습니다. 값이 어디에서 왔는지에 관해서는 사용자가 보여준 것을 바탕으로 사용자가 제공하거나 애플리케이션 코드에서 생성됩니다. 어느 것을 알기 위해, 당신은이 것들이 추가 된 형태를 봐야 할 것입니다. –

+0

다음은 색인 탭의 모습입니다. http://i.imgur.com/af7Kt.png – DWRoelands

관련 문제