2012-05-03 2 views
-2

저는 Oracle 데이터베이스를 반년 이상 사용하고 있습니다. 현재 데이터의 한 행을 업데이트 할 수 없습니다. 나는 SQL 개발자로부터 어떤 에러 나 아무것도 얻지 못했다. 업데이트를 시도하면 항상 한 행을 업데이트하고 커밋했습니다.이상한 일이 oracle 데이터베이스에서 발생했습니다

하지만 쿼리하려고하면 이전 값이 다시 나타납니다. 이 한 항목에만이 문제가 있습니다.

아무에게도 제안 할 수 없습니까?

+1

1) 동일한 세션에서 쿼리를 실행합니까? 그렇다면 아마 Sathya가 옳을 것입니다. 2) 동일한 데이터베이스/테이블을 쿼리하고 있습니까? –

+2

'dual' 테이블을 업데이트 했습니까? –

+0

업데이트를 어떻게 실행합니까? 어떻게 성공했는지 어떻게 알 수 있습니까? 어떻게 데이터를 쿼리합니까? – APC

답변

3

내 생각에 값을 재설정하는 트리거가 테이블에 있습니다. DML 문 & 테이블 구조를 보지 않고서도 포괄적으로 대답 할 방법이 없습니다.

당신이 테이블에 트리거가 있는지 확인하는 방법은 다음과 같습니다

당신의 코드베이스에 문제가 있습니다
SELECT trigger_name 
FROM all_triggers 
WHERE table_name = '<whatever>'; 
+0

또 다른 옵션은 테이블이 실제로 뷰이고 대신 트리거가 업데이트를 처리하는 것입니다. –

+0

@Ww. 편집 해 주셔서 감사합니다! – Sathya

2

. 우리가 아프면 진단 할 방법이 없습니다. 전화하지 않음

그래서 디버깅해야합니다. SQL Developer에는 이와 관련하여 도움이되는 도구가 있습니다. Find out more.

자신의 응용 프로그램이 어떻게 작동하는지 이해하지 못하면 by profiling your code을 시작하는 것이 좋습니다. 이렇게하면 업데이트를 실행할 때 실행되는 모든 프로그램이 표시됩니다. 나는 트리거에 관한 제안에 동의하지만 그것은 단지 추측입니다.

관련 문제