테이블 반환 함수로 구현 된 SQL Server 2008 시스템 동적 관리 뷰를 쿼리하고 빈 결과 집합을 반환하면 빈 결과 집합의 원인이 함수에 오류가 있음을 알 수 있습니까? , 그리고 그 오류는 무엇입니까?SQL Server 테이블 반환 함수가 오류를보고하는 방법은 무엇입니까?
답변
그렇지 않습니다. T-SQL 함수에서는 THROW 또는 RAISERROR를 사용할 수 없습니다. 일부 devs는 UDF 내부에서 오류를 트리거하기 위해 0으로 나눕니다. 이것은 잘 작동하지만 때로는 어디에도없는 0 오류로 나누기를 조사해야하는 불쌍한 영혼을 혼란스럽게합니다.
나는 고쳐졌다. 하나는 기능을 못쓰게 만들 수 없습니다. –
두 개의 정반대의 대답이 모두 반대표로 쓰여지는 것은 재미 있습니다. 다른 사람들이보고 싶으면 여기에 더 자세한 내용이 있습니다 : http://stackoverflow.com/questions/1485034/how-to-report-an-error-from-a-sql-server-user-defined-function. –
0으로 나누기를 수행하는 것보다 TSQL의 함수에서 오류를 발생시키는 것이 훨씬 더 유용합니다. 우리 회사에서하는 일은 문자열 (매우 문제를 설명)을 캐스팅하여 문자열로 변환하는 것입니다.
if @PersonID is null
insert into @Result values(@Right, cast('FT_AclGetAccess must never be called with @PersonID null' as int))
이이처럼 보이는 응용 프로그램 서버에 오류가 발생합니다 : int 데이터 형식에 '@PersonID 널 (null)로 호출해서는 안됩니다 FT_AclGetAccess '는 VARCHAR 값을 변환 할 때
변환 실패 .
응용 프로그램 서버에서 약간의 문자열 조작을하면 로그 파일에 대해 꽤 제정신이 아닌 오류 메시지가 나타납니다! ;-)
- 1. 무스 생성자에서 오류를보고하는 방법은 무엇입니까?
- 2. T-SQL 반환 테이블의 테이블 반환 함수
- 3. SQL Server 2000에서 가변 인수를 전달하여 테이블 반환 함수에 연결
- 4. SQL Server 및 테이블 반환 사용자 정의 함수 최적화
- 5. 프록시 테이블 SQL Server vs SQL Server
- 6. SQL Server 프록시 테이블
- 7. SQL Server 잠긴 테이블
- 8. SQL Server 2000의 테이블 차이점
- 9. SQL Server 2005의 테이블 반환 함수를 사용하여 동적 열을 반환 할 수 있습니까?
- 10. SQL Server 2008에서 LIKE 함수가 필요함
- 11. SQL Server Management Studio에서 테이블 반환 함수를 테스트하려면 어떻게합니까?
- 12. SQL 쿼리 - 2 테이블 반환
- 13. SQL Server 2008에서 권한 (테이블) 권한을 넘겨주는 방법은 무엇입니까?
- 14. 함수로 테이블 형식 반환
- 15. C# 데이터 테이블에서 SQL Server 테이블 만들기
- 16. SQL Server 2008에서 스크립트를 만드는 방법은 무엇입니까?
- 17. SQL Server 2005에서 split을 사용하는 방법은 무엇입니까?
- 18. SQL Server AVG 함수가 이상 함
- 19. ASP.NET 저장소 파일 업로드 SQL Server 테이블
- 20. .Net에서 인덱스가있는 SQL Server 2008 복제 테이블
- 21. 매월 SQL Server 테이블 확인
- 22. SQL Server : 테이블 만들기가 영원히!
- 23. 테이블 간의 SQL Server 제약
- 24. SQL Server 2000 테이블 최적화
- 25. SQL Server 파티션 테이블 성능
- 26. SQL Server 2008 테이블 분할
- 27. SQL Server 2005에서 테이블 내보내기
- 28. SQL Server : 곱하기 테이블 만들기
- 29. Sql Server 2005에서 특정 테이블
- 30. sql-server-2008 감사 테이블
문제를 일으키는 구체적인 사례가 있습니까? – JNK
저장 프로 시저 내에서 오류를 발생시켜 테스트 할 수 있습니다 (다른 오류 수준으로 시도하여 sql 예외가있는 경우와없는 예외를 확인하십시오). – Oded
함수 이름을 나열하고 사용 방법을 더 자세히 말할 수 있습니다. 무엇을 성취하려고합니까? –