我需要从两个视图中选择一个。 我希望我的查询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
除非这不起作用。
任何建议都将受到赞赏
答案 0 :(得分:2)
这是声明一个内联表值函数,根据定义,它只能包含一个SELECT语句。
如果你必须这样做,那么你需要一个多语句表值函数,请注意,这似乎不是我想要在生产环境中看到的东西,你需要退一步到'适当的'解决方案......虽然看起来没有足够的信息说。
此link将提供有关两者操作差异的更多详细信息。
答案 1 :(得分:0)
为什么不使用动态SQL ?
您需要一个功能和一个程序。实际上你可以将功能结合到程序中但无论如何 -
.page__background