我遇到需要在设计时不知道其名称的表上执行查询的情况。
例如,我有这些表:
Table_Items_1
Table_Items_2
Table_Items_3
Table_Items_4
Table_Items_5
我需要选择取决于数字“x”,它指的是表格的后缀。 (表的数量是动态的,我不能做if-else)。
这可以使用动态SQL来完成。但是,我需要更通用,因为它将被其他几个函数/存储过程引用。
我正在考虑一个表值函数,因为我需要对上面的查询执行其他查询(即:内部联接,依赖于结果或字段等的其他选择查询)但是表值函数不接受调用存储过程或动态SQL。
P.S。:我不介意改变方法,TVF不是必须的,但是,我需要一些可以从其他存储过程/函数引用的泛型。
任何解决方案?
谢谢。
答案 0 :(得分:0)
表名是事先不知道的,它的动态因此需要动态的sql。
现在,根据查询的构建位置和方式,您可以直接传递命令或使用存储过程。