그냥 할 수 추가 , 다음 버전> 1 일치의 가능성 (그러나 가능성)에 대한 계정에 형식 변환 오류가 발생합니다 "방어" Schema
방법 유효성 검사 코드로의 유사한 I가 그것의 좋은 생각 나는 그것을 믿기 때문에 예외의를 종종 의도적으로 던져 가능한 모든 반환 결과를 설명하는 " '모범 사례'"는 가능성이 낮고 처리 중지의 알려진 효과가 일반적으로 포착되지 않은 오류의 알려지지 않은 연속 효과보다 낫기 때문에 치명적인 예외를 생성하는 경우에도 마찬가지입니다. 그것은 매우 가능성이기 때문에, 나는 그것의 가치가 별도의 문제를 생각하지 않았다 Count
체크 + Throw
또는 Try
- Catch
- Throw
그럼에도 불구하고보다 사용자 친화적 인 치명적인 오류가 여전히 치명적인 오류를 생성 할 수 있습니다.
SS 2005- :
declare @HasSchemaX bit
set @HasSchemaX = case (select count(1) from sys.schemas where lower(name) = lower('SchemaX')) when 1 then 1 when 0 then 0 else 'ERROR' end
SS 2008+ :
declare @HasSchemaX bit = case (select count(1) from sys.schemas where lower(name) = lower('SchemaX')) when 1 then 1 when 0 then 0 else 'ERROR' end
그때:
if @HasSchemaX = 1
begin
...
end -- if @HasSchemaX = 1