在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->职能 - >表值函数

+2

你的问题缺乏大量的信息。你希望如何使用这些视图?在PHP,C#等?精心设计一下 – kya 2014-12-04 06:26:54

+0

它应该是Select FunctionName(); – AK47 2014-12-04 06:31:27

+0

它是sql服务器@a_horse_with_no_name – Kadaj13 2014-12-04 06:57:39

以下应工作..

SELECT decadeBegin, decadeEnd, NumOfMovies 
FROM dbo.TableOfDecades(); 

你需要的功能之前它可以专门返回一个表型被另一个sql调用使用。 看到http://technet.microsoft.com/en-us/library/ms191165%28v=sql.105%29.aspx

不同的SQL的实现有不同的格式参照表值函数..