在sql中使用函数或视图
问题描述:
我在SQL服务器中创建了函数和视图。我免除了他们,他们被成功保存。 现在我应该写什么来在另一个查询中使用这些视图或函数?在sql中使用函数或视图
我已经试过
select something
from FunctionName;
但系统不recongnize功能。
的功能是:
create function TableOfDecades()
returns @functiontable table
(
decadeBegin int,
decadeEnd int,
NumOfMovies int
)
as
begin
declare @movie1 int;
declare @movie2 int;
declare @movie3 int;
declare @movie4 int;
declare @movie5 int;
declare @year1 int;
declare @year2 int;
select @movie1 = count(id)
from MOVIE
where year >=1350 and year <1360;
select @movie2 = count(id)
from MOVIE
where year >=1360 and year <1370;
select @movie3 = count(id)
from MOVIE
where year >=1370 and year <1380;
select @movie4 = count(id)
from MOVIE
where year >=1380 and year <1390;
select @movie5 = count(id)
from MOVIE
where year >=1390 and year <1400;
declare @maxOfMovies int;
set @maxOfMovies = -1;
if(@movie1 > @maxOfMovies)
begin
set @maxOfMovies = @movie1;
set @year1 = 1350;
set @year2 = 1360;
end
if(@movie2 > @maxOfMovies)
begin
set @maxOfMovies = @movie2;
set @year1 = 1360;
set @year2 = 1370;
end
if(@movie3 > @maxOfMovies)
begin
set @maxOfMovies = @movie3;
set @year1 = 1370;
set @year2 = 1380;
end
if(@movie4 > @maxOfMovies)
begin
set @maxOfMovies = @movie4;
set @year1 = 1380;
set @year2 = 1390;
end
if(@movie5 > @maxOfMovies)
begin
set @maxOfMovies = @movie5;
set @year1 = 1390;
set @year2 = 1400;
end
insert into @functiontable
select @maxOfMovies, @year1, @year2;
RETURN;
end
,我excuted它,它保存在文件夹programmability->职能 - >表值函数
答
以下应工作..
SELECT decadeBegin, decadeEnd, NumOfMovies
FROM dbo.TableOfDecades();
答
你需要的功能之前它可以专门返回一个表型被另一个sql调用使用。 看到http://technet.microsoft.com/en-us/library/ms191165%28v=sql.105%29.aspx
不同的SQL的实现有不同的格式参照表值函数..
你的问题缺乏大量的信息。你希望如何使用这些视图?在PHP,C#等?精心设计一下 – kya 2014-12-04 06:26:54
它应该是Select FunctionName(); – AK47 2014-12-04 06:31:27
它是sql服务器@a_horse_with_no_name – Kadaj13 2014-12-04 06:57:39