在我的包中,我在许多地方进行选择查询,这些地方具有不同的where条件但具有相同的列列表。如下。
Select a_1, a_2, a_3, ..... a_100 from table where <condition>
如果有一个新的a_101我想要包含在select中,我必须编辑所有这些选择查询被手动使用的地方,并且有很多选择就像这样。
我的问题是,有没有办法可以将所有列定义为一个变量并在select中使用它?这样的事情。
declare
v_columns varchar2(500 byte);
begin
v_columns := 'a_1, a_2, a_3....... a_100'
select v_columns from table;
end;
这样,如果我想添加一个像a_101这样的新列,我只需在一个地方更改varialble声明。
任何帮助都将不胜感激。
答案 0 :(得分:2)
一种简单的方法是定义一个视图,然后从中选择*。
因此,如果您有包含1到30列的表格 但你经常选择偶数。
创建一个名为,其中选择Column2,column4,... Column30 From SomeTable
然后在你的其他查询中重用 从SomeTableEvenColumns中选择*,其中......