CREATE FUNCTION dbo.fn_line ( @id INT ) RETURNS TABLE AS RETURN( SELECT * FROM tb_name WHERE ID=@id ) GOCREATE FUNCTION dbo.fn_multi ( @id INT ) RETURNS @t TABLE(id int,name varchar(10)) AS BEGIN IF ISNULL(@id,0)=0 SET @id=100 INSERT @t SELECT * FROM tb_name WHERE ID=@id RETURN END
(
@id INT
)
RETURNS TABLE
AS
RETURN(
SELECT * FROM tb_name
WHERE ID=@id
)
GOCREATE FUNCTION dbo.fn_multi
(
@id INT
)
RETURNS @t TABLE(id int,name varchar(10))
AS
BEGIN
IF ISNULL(@id,0)=0
SET @id=100 INSERT @t
SELECT * FROM tb_name
WHERE ID=@id RETURN
END
http://msdn.microsoft.com/zh-cn/library/ms186755(SQL.90).aspx
内嵌表值函数
直接用select 返回表,类似一个可用多条语句的视图多语句表值函数
定义返回表时已定义了表结构与表变量,在函数语句中操作此表变量,返回时将此表变量的结果返回.虽然写法不同,使用的方法相同.效果也相同.