2017-09-04 11 views
0

업데이트 문을 사용하여 문자 데이터 형식으로 열을 업데이트하려고 할 때. 그것은 0 행을 업데이 트라고 아무런 오류 던지지 않습니다. 열의 수가 많이 있기 때문에 특정 열을 사용하여 where 절을 사용하여 시도했습니다 ... 행을 업데이트하는 곳.oracle에서 업데이트 쿼리를 사용하는 동안 0 개의 행이 업데이트되었습니다.

문제는 모든 열이 값을 변경하는 데 사용되면 다시 0 행을 업데이트합니다. 모든 행을 사용하여 업데이트 할 수 있도록 vba 코드/도구에서 자동화해야합니다. 값을 업데이트하지 않지만 오류가 반환되지 않는 열을 식별했습니다.

그것은 단지 말한다 :

0 rows updated.

하지만 특정 열 (데이터 형식 ... 소수)이 잘못되었습니다.

도와주세요. 나는 전체 인터넷을 검색했으나 아무런 결과도 찾지 못했습니다.

+2

쿼리 일부 샘플 데이터를 표시 호프가 – dbajtr

+0

이 식별 열인 나는 그것을 업데이트하지 못하게했다. Update keyfigures2 set "Company Name"= 'chem5'여기서 "Gross Profit Margin"= 0.198871996076508; (P.S : 테이블에 기본 키가 없습니다.) –

+0

'0 updates'을 (를) 사용했던 SQL 쿼리를 표시하십시오 ... –

답변

0

데이터베이스의 특정 값과 해당 값만 업데이트하려는 경우 반올림 문제가있을 수 있습니다. 즉, 표시되는 값이 저장된 정확한 값이 아님을 의미합니다.

따라서 특정 범위로 업데이트하려고 할 수 있습니다.

  1. 먼저 업데이트 할 것을 선택

    select rowid from table_1 
    where val_x between <x>-<upsilon> and <x>+<upsilon>; 
    
  2. 업데이트 을 당신은 단지 하나 개의 값이있는 경우;

    update table_1 set val_x = <new_val> 
    where val_x between <x>-0.001 and <x>+0.001 
    ; 
    

은 (달리, 1 개 이상의 값으로하는 경우 등, 0.0001-<upsilon> 감소)

그것이