您的位置:首页 > 数据库

sql server 函数的编写与调用

2008-10-29 12:29 148 查看
编写函数
create function FunctionName
(
@functionparameter parametertype
)
returns @ReturnFunctionName table
(
returnDBfield DBtype
)
as
begin
insert into @ReturnFunctionName
select returnDBfield
from DBtable
return

end
GO

例子:
create function GetVehicleMsmLog
(
@ent_id int,
@veh_id int,
@start_date datetime,
@end_date datetime
)
returns @return_table table
(
ent_id int,
veh_id int,
x_loc float,
y_loc float,
speed float,
ignition bit,
measure_datetime datetime,
loc_string nvarchar(255),
cd datetime,
dallas_key nvarchar(12)
)
as
begin

insert into @return_table
select ent_id, veh_id, x_loc, y_loc, speed, ignition, measure_datetime, loc_string, cd, dallas_key
from t_veh_msm_log
where ent_id = @ent_id and veh_id = @veh_id
and measure_datetime between @start_date and @end_date
order by measure_datetime asc

return

end
GO
执行即可,就可以直接调用,调用query如下:
declare
@functionparameter parametertype

set @functionparameter=value

declare @ReturnFunctionName table
(
returnDBfield DBtype
)

insert into @ReturnFunctionName select * from FunctionName(@functionparameter)
select * from @ReturnFunctionName

例子:
declare
@start_date datetime, @end_date datetime,
@ent_id int, @veh_id int

set @start_date = '2008-09-02'
set @end_date = '2008-09-05'
set @ent_id = 49
set @veh_id = 5

declare @result_table table
(
ent_id int,
veh_id int,
x_loc float,
y_loc float,
speed float,
ignition bit,
measure_datetime datetime,
loc_string nvarchar(255),
cd datetime,
dallas_key nvarchar(12)
)
insert into @result_table select * from GetVehicleMsmLog(@start_date, @end_date,@ent_id , @veh_id)
select * from @result_table
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐