2013-06-12 2 views
0

제 패키지에서 다른 조건이 있지만 열의 목록이 같은 여러 위치에서 선택 쿼리를 수행합니다. 아래처럼. 내가 선택에 포함 할 새로운 a_101가있는 경우오라클 프로 시저에서 선택 열을 다시 사용하십시오.

Select a_1, a_2, a_3, ..... a_100 from table where <condition> 

, 나는 모든 곳이 선택 쿼리를 수동으로 사용되며, 바로이 같은 선택의 많은이 있습니다를 편집 할 수 있습니다.

제 질문은 모든 변수를 하나의 변수로 정의하고 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과 같은 새 열을 추가하려는 경우 한 자리 바꿔서 변수 선언을 변경하면됩니다.

도움을 주시면 감사하겠습니다.

+1

얼마나 많은 장소에서 다른 쿼리에 선택 *을 재사용? 당연히 1000 개가 아닌 ... 편집하십시오. 찾기 및 바꾸기 기능이있는 훌륭한 편집기를 만드십시오. 'a_100'을'a_100, a_101'로 바꿀 수도 있습니다. –

+0

그게 내가 지금하고있는 일과 의도는 아무도 다른 방법을 모른다면 – Jeevan

답변

2

쉬운 방법은보기를 정의한 다음 *를 선택하는 것입니다.

따라서 1 ~ 30 열의 테이블이있는 경우 하지만 규칙적으로 짝수 테이블을 선택하고 있습니다.

는 열 2, column4을 선택하지라는 뷰를 작성 ... Column30는

SomeTable

에서 다음 SomeTableEvenColumns ....

+0

이 select 문은 프로 시저에 있으며 임시 테이블 등으로 복사하는 것과 같은 몇 가지 다른 작업을 수행합니다. 새 * 테이블에 정의되었지만 임시 테이블이나 TABLE OF 등의 TYPE이 아닌 열 – Jeevan

+0

'Select * from'을 피하려고합니다. 다른 방법이 있습니까? – Jeevan

+0

@ Jeevan Tony는보기를 정의하고 그 중에서 *를 선택하고 테이블에서 *를 선택하지 않는 것에 대해 이야기합니다. –

관련 문제