달성하고자하는 것 :
각 개별 ID의 ID와 크레딧을 나타내는 테이블이 있습니다. rate(ID)=Credit(ID)/sum(Credit(ID))
합이 모든 ID를
나는 꽤 자주 테이블을 업데이트하고 (예를 들어 sigmaID
)을 다른 열을 생성하고 테이블이 합계를 저장하여 sum(Credit(ID))
곳에 보관 할 것 이상으로
나는, 각 ID 평가하려면 은 항상 모든 행에 대해 정확히 동일한 값을 가져야합니다.. 내가 ID에 대한 신용을 변경할 때마다
(예를 들어 100을 추가), 나는이 열 값에 동일한 작업을 간단하게 할 수 있습니다 (추가 100)sql 모든 행에 대해 동일한 열 값을 자주 업데이트하십시오.
- 내가 모든 행에 대한
sigmaID
를 업데이트해야합니까? 효율적일까요? sigmaID
이 일관성을 위해 실제로sum(Credit(ID))
인지 확인하고 싶습니다. 과도하게 사용합니까? 비효율적일까요?- 다른 접근 방법이 있습니까 (효율성이 걱정됩니까?). 나는이 평가 (및 ID의 다른 매개 변수와 다른 수식의 부하)을 계산 것
UPDATE
트리거에이 모든 것을 넣어 필요로
친절 순수한 SQL 쿼리를 제공합니다. 스크립팅 언어 (PHP/python)에 액세스 할 수 있지만 확실하지는 않습니다. 따라서 순수 SQL 요청.
내 경험은 나에게 권한과 이야기하는 것을 허용하지 않지만, 당신이 (HTTP를 스칼라 [기능]을 사용하여 목표를 달성 할 수있는 것으로 보인다 : // msdn.microsoft.com/en-us/library/ms189593.aspx)를 사용하여 합계와 지속 된 [계산 된 열] (http://msdn.microsoft.com/en-us/library/ms191250.aspx)을 계산하여 에 결과. –
@ andriy-m : 링크 덕분에 계산 된 열은 유망 해 보였습니다. MSSQL에서만 제한되었거나 mysql/다른 sql에서 사용할 수 있습니까 ?? – Sudhi
이 기능이 SQL Server에만 있지만 [이 원본] (http://www.postgresonline.com/journal/archives/51-Cross-Compare-of-SQL-Server,-MySQL, -와 - PostgreSQL.html)은 적어도 두 개의 특정 서버 제품인 MySQL과 PostgreSQL은 계산 된 열을 지원하지 않는다는 것을 보여줍니다. –