SQL SERVER 表值函数

1.不带输入参数

CREATE FUNCTION myfunction()
RETURNS TABLE
AS
RETURN
(
    SELECT * FROM TableName
)

  select * from MyFunction()

2.多语句表值函数

CREATE function MyFunction()
RETURNS @MyReturnTable TABLE (a int,b int)
AS BEGIN
    INSERT @MyReturnTable VALUES(1,2);
    INSERT @MyReturnTable VALUES(3,4);
RETURN;
END

  select * from MyFunction()

3.带返回值表值函数

CREATE function MyFunction(@A AS int,@B AS int)
returns @MyReturnTable table (a int, b int)
AS BEGIN
    insert @MyReturnTable values(@A,@B);
    RETURN;
END

  select * from MyFunction(5,6)

 

4.可以使用CROSS APPLY 将表和表值函数进行联接,如下:

  SELECT <col1>,<col2> FROM <table1> CROSS APPLY <udf name>(<table1>.<col3>)

posted @ 2015-05-14 15:23  我在赫尔辛基火车站  阅读(221)  评论(0)    收藏  举报