2013-01-18 4 views
-1

이것은 단순한 것일 수 있습니다. 기본적으로 오라클 PL/SQL에 나는 다른 데이터베이스에서 선택하고 :변수에서 선택하십시오.

select * From [email protected]; 

는 내가 원하는 것은 값 061이 변수 이름 (의 mystore)에서 오는 것입니다.

그래서 다음과 같이 될 것입니다 :

select * from [email protected]||myStore||'081'; 

은의 mystore 위의 값 061.

를 개최한다 기억하지만 위에서 작동하지 않는 이유는 무엇입니까? 누군가 도울 수 있습니까? 감사

답변

1

흠, 당신이 쿼리에서 직접 할 수 없어, 당신은 동적 SQL을 사용해야합니다.

이 같은

declare 
myStore varchar2(10):='061'; 
begin 
EXECUTE IMMEDIATE 'SELECT * FROM [email protected]'||myStore||'081'; 
end; 
+0

위대한 작품이라고 생각합니다. 감사합니다. 또한 where 절을 추가하려면 다음과 같이 할 수 있습니다. declare myStore varchar2 (10) : = '061'; sStoreCode varchar2 (10) : = '061'; begin EXECUTE IMMEDIATE 'SELECT * FROM [email protected]'||myStore||'81 여기서 storecode = sStoreCode'; end; – user1941350

0

아니면 그것이 있어야처럼 뭔가?

declare 
    myStore varchar2(10):='061'; 
    sStoreCode varchar2(10):='061'; 
begin 
    EXECUTE IMMEDIATE 'SELECT * FROM [email protected]'||myStore 
              ||'081 where storecode='||sStoreCode; 

end;