برای این کیوری که فرستادی میتونی با cast مشکلت رو رفع کنی
DECLARE @t_temp TABLE
(
name NVARCHAR(50)
,totallPrice INT
);
INSERT INTO @t_temp
( name ,totallPrice )
VALUES
( N'ramin' -- name - nvarchar(50)
,123452678 -- totallPrice - int
),
( N'reza' -- name - nvarchar(50)
,852165289 -- totallPrice - int
),
( N'ebi' -- name - nvarchar(50)
,656525454 -- totallPrice - int
),
( N'sami' -- name - nvarchar(50)
,654655465 -- totallPrice - int
),
( N'zahra' -- name - nvarchar(50)
,655465235 -- totallPrice - int
),
( N'kolsom' -- name - nvarchar(50)
,656542654 -- totallPrice - int
),
( N'khadijeh' -- name - nvarchar(50)
,656542655 -- totallPrice - int
);
BEGIN TRY
SELECT
SUM(CAST(tt.totallPrice as bigint)) OVER ( ORDER BY tt.totallPrice ) AS sum_price
FROM
@t_temp AS tt
ORDER BY
tt.totallPrice;
END TRY
BEGIN CATCH
select 0 AS sum_price
end CATCH
برای اون خطای تقسیم بر 0 هم باید توی خود اس کیو ال روش کار کنی
کد داره توی اس کیو ال کامپایل میشه
و همونجا خطا میخوره
فقط شما میتونی توی کدت بفهمی خطای اس کیو ال خوردی و مثلا به مشتری یک پیام مناسب نشون بدی یا حالا هر کار دیگه بسته به شزایط
اما نمی تونی هندل کنی اون خطا رو
try
{
//code
}
catch(SqlException sqlEx)
{
//code
}