从SQL Server中的两个视图中选择一个

时间:2016-04-21 07:51:26

标签: sql-server

我需要从两个视图中选择一个。 我希望我的查询sql类似于:

'select * from MyViewFunction(1);'

其中参数1将决定我应该选择哪个视图。

这样的函数是这样的:

CREATE FUNCTION MyViewFunction (@ViewId INTEGER) 
RETURNS TABLE 
AS 
    IF(@ViewId == 1)
    BEGIN
            RETURN (SELECT * FROM  view1)
    END
        ELSE
    BEGIN
            RETURN (SELECT * FROM  view2 )
    END

除非这不起作用。

任何建议都将受到赞赏

2 个答案:

答案 0 :(得分:2)

这是声明一个内联表值函数,根据定义,它只能包含一个SELECT语句。

如果你必须这样做,那么你需要一个多语句表值函数,请注意,这似乎不是我想要在生产环境中看到的东西,你需要退一步到'适当的'解决方案......虽然看起来没有足够的信息说。

link将提供有关两者操作差异的更多详细信息。

答案 1 :(得分:0)

为什么不使用动态SQL

您需要一个功能和一个程序。实际上你可以将功能结合到程序中但无论如何 -

.page__background