-1

这可能是一个简单的。基本上在 Oracle 的 PL/SQL 中,我从另一个数据库中进行选择:

select * From Store@dbstore.p009061;

我想要的是值 061 将来自变量名(myStore)。

所以它会是这样的:

select * from STORE@DBSTORE.P||myStore||'081';

请记住上面的 myStore 将保存值 061。

但是上面的不行吗?有人可以帮忙吗?谢谢

4

2 回答 2

1

嗯,你不能直接在查询中这样做,你必须使用动态 sql。

就像是

declare
myStore varchar2(10):='061';
begin
EXECUTE IMMEDIATE 'SELECT * FROM STORE@DBSTORE.P'||myStore||'081';
end;
于 2013-01-18T20:52:48.223 回答
0

或者它应该是这样的?

declare
    myStore varchar2(10):='061';
    sStoreCode varchar2(10):='061';
begin
    EXECUTE IMMEDIATE 'SELECT * FROM STORE@BNSTORE.P'||myStore
                                            ||'081 where storecode='||sStoreCode;

end;
于 2013-01-18T21:20:09.947 回答