우리는 사용자가 숫자에 대한 다른 데이터베이스 열을 사용하여 산술 표현식 (+ - * /)을 입력 할 수있게 할 것입니다. 그런 다음 응용 프로그램에 의해 구문 분석되고 계산 열로 데이터베이스에 기록됩니다.계산 열의 산술 오버플로를 확인 하시겠습니까?
그러나 사용자가 0으로 나누기, 산술 오버플로, 그리고 아직까지 나오지 않은 다른 테이블과 같이 select *
테이블을 만들 때 예외가 발생할 수있는 표현식을 만들 수있게하는 데 문제가 있습니다. I 그 모두가라고 생각합니다.
데이터베이스가 select *
에 예외를 던지게되면 절대적으로 파괴적입니다. 오히려 오류가 발생하기 쉬운 데이터가있는 경우 정상적으로 실패하는 식으로 식을 다시 작성하려고합니다. 나누기 0으로 솔루션에 대한
은 매우 간단합니다 :
add [Col] as case {divisor} when 0 then N'DIVIDE-BY-ZERO' else {expression} end
내 질문은 내가 산술 오버 플로우를 위해 할 수있는 무엇인가? 열에 벙커 또는 명백하게 잘못된 데이터를 표시하는 것은 문제가되지 않지만 예외가 발생하면 문제가 발생합니다.
사용자가 해당 열의 값을 기반으로하는 계산 열을 실패하게하는 열에 값을 입력하는 경우를 어떻게 처리해야합니까? 삽입 또는 업데이트를 방지 하시겠습니까? –
절대적으로 아닙니다. 우리는 서로 다른 비즈니스 방식을 사용하는 다양한 고객을 보유하고 있으므로 응용 프로그램에 로그인하고 텍스트 파일을 Excel 파일을 가져 오는 백그라운드 서비스에 입력하는 등 데이터를 삽입/업데이트하는 데 약 12 가지의 다양한 방법이 있습니다. 불량 데이터 선행을 방지하기 위해 모든 것을 수정하면 엔지니어링 프로젝트가 될 것입니다 ... – Tinister