우리는 DateTime을 반환하는 스칼라 함수를 가지고 있습니다. 리턴 값을 얻기 위해 몇 가지 빠른 테이블 선택을 수행합니다. 이 함수는 데이터베이스 전체에서 이미 사용 중입니다. 기본 제약 조건, 저장된 procs 등에서 함수의 구현을 변경하고 싶습니다. (테이블 히트를 제거하고보다 효율적으로 만들 수 있습니다.)하지만 분명히 그렇게 할 수는 없습니다. 데이터베이스의 다른 오브젝트에 의해 참조됩니다. 실제로 데이터베이스를 참조하는 모든 개체를 업데이트하거나 삭제하고 함수를 업데이트 한 다음 해당 개체를 업데이트하거나 다시 만들어 함수에 대한 참조를 복원해야합니까?
함수는 소수의 뷰, 트리거, 두 개의 함수 및 많은 수의 기본 제약 조건과 저장된 procs로 참조됩니다.SqlServer2008 - 많은 곳에서 참조되는 동안 스칼라 함수를 변경할 수 있습니까?
감사의 말씀을드립니다.
나도 변경 시도하거나 기능을 드롭 할 때 내가지고있어 오류는 다음과 같습니다
수 없습니다 [ALTER | DROP 기능]이 객체에 의해 참조되고 있기 때문에 'dbo.GetClientCurrentTime' 'DF_tbl_PatientOrder_Note_RecordCreated' .
파생 열에서 사용하는 경우 열을 일시적으로 삭제해야합니다. 저장된 procs에서의 사용은 수정 될 필요가 없다. 기본 제약 조건 사용에 대해 확신하지 못합니다. –
* 데이터베이스의 다른 개체에서 참조하는 동안 분명히 그 작업을 수행 할 수 없습니다 * - 어떤 오류가 발생합니까? – egrunin