Re[4]: Вычисление медианы HQL
От: Аноним  
Дата: 22.11.07 11:00
Оценка:
Здравствуйте, Jericho113, Вы писали:

J>Здравствуйте, bit85, Вы писали:



GIV>>>1. Использовать native query

GIV>>>2. Использовать хранимую процедуру


B>> а как нваписать на етот запрос??? Я первый раз cстолкнулся с HNIBERNATE

J>вам посоветовали использовать хранимку — имхо самый оптимальный способ..
J>HQL имхо не самый лучший язык для работы с большим объемом данных и сложными вычислениями.

как вызвать через HNibernate хранимую процеду с параметрами не подскажите плиз!

вот например есть пример вычисления медианы

execute dbo.m_wholeprice
GO


сама проуедура!

CREATE PROCEDURE [dbo].[m_wholeprice] AS
-- declare @t table(price money PRIMARY KEY CLUSTERED)

insert alper1 values(1, 100, 90)
insert alper1 values(2, 200, 180)
insert alper1 values(3, 300, 270)
insert alper1 values(4, 400, 360)

declare @rc int, @rc05 int, @maxprice money, @maxprice2 money
set @rc=(select count(*) FROM alper1)
set @rc05=@rc/2
if @rc05*2=@rc begin
set @rc05=@rc05+1
set rowcount @rc05
select @maxprice2=@maxprice, @maxprice=price FROM alper1 ORDER BY price
select (@maxprice+@maxprice2)/2
end else begin
set @rc05=@rc05+1
set rowcount @rc05
select @maxprice=price FROM alper1 ORDER BY price
select @maxprice
end

GO
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.