从变量中选择

时间:2013-01-18 20:45:46

标签: string variables select plsql

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

select * From Store@dbstore.p009061;

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

所以它会是这样的:

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

记住上面的myStore将保留值061。

但上述不起作用?有人可以帮忙吗?感谢

2 个答案:

答案 0 :(得分:1)

嗯,你不能直接在查询中执行此操作,必须使用动态sql。

类似

declare
myStore varchar2(10):='061';
begin
EXECUTE IMMEDIATE 'SELECT * FROM STORE@DBSTORE.P'||myStore||'081';
end;

答案 1 :(得分:0)

或许它应该是这样的?

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

end;