계산 된 열에서 사용하는 함수 'DiffMinuti'가 있습니다. 변수로 선언하고, 한 번만 호출하고 코드를 최적화하고 싶습니다. 도와 주셔서 감사합니다.SQL Server : 계산 열 내에서 함수를 변수로 선언하는 방법
ALTER TABLE Ticket ADD MinutiAllaScadenza AS (" +
CASE
WHEN StatoTicketID > 3 AND dbo.DiffMinuti(DataArrivo, DataObiettivo) <0 THEN 10000000
ELSE dbo.DiffMinuti(DataArrivo, DataObiettivo)
END)
감사합니다. 최고 감사합니다
@domanager을 표현 포장해야 할 것 : 대단히 감사합니다! 나는 그것이 매우 복잡하다고 생각하지 않았습니다 ... MinutiAllaScadenza 계산 된 필드를 계산하는 가장 효율적인 방법은 무엇이라고 생각합니까? "Diffminuti"함수에 대한 이중 호출로 사용자가 설명하거나 현재 사용하고있는 것입니까? 고맙습니다. 매우 철저하고 전문적입니다! – Larry
@Larry 대량 삽입/업데이트가 많고 테이블에서 읽는 방법이 거의 없으면 메서드가 더 좋을 수도 있지만 데이터가 상당히 정적이며 쿼리가 발생하는 경우에는 테이블 사용 방법에 따라 달라집니다 무겁게 반환 된 각 행에 대한 함수를 호출하지 않아도됩니다 더 효율적이어야합니다. – domager
@domager : 이제 최악의 경우에 DiffMinuti에 대한 2 차 테이블에 나머지 계산 된 열에 대한 RBAR 처리가 있습니다 ... – gbn