2014-12-04 137 views
-4

我在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

回答

1

以下應工作..

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