Oracle SQL Developer中的连接特定变量是否可行?

时间:2015-06-04 14:50:30

标签: oracle oracle-sqldeveloper

我正在使用Oracle SQL Developer。

我有两个连接我经常使用两个基本相同但命名不同的模式,分别为Foo和Bar连接说FOOBAR。我的查询基本上就是这样......

select Stuff from FOO.CoolTable; -- For Foo connection
select Stuff from BAR.CoolTable; -- For Bar connection

我最终要做的就是在切换连接(或手动来回切换)之后,同时按下 Ctrl + Enter 输入。

我想知道的是,是否有某种方法可以获得某种特定于连接的变量,因此我只能编写一个,当我运行查询时,它会根据连接选择正确的模式。

这样的事情:

select Stuff from <my_var>.CoolTable;

其中<mr_var>被视为Foo连接的文本“FOO”和条形连接的“BAR”。

类似于环境变量的概念,如果这有助于澄清。

2 个答案:

答案 0 :(得分:1)

我认为sqldeveloper中没有任何内容可供您使用。

但是,您可以使用数据库上的登录触发器为登录设置默认架构。这样,您可以在不使用限定模式名称的情况下触发查询,只需:select Stuff from CoolTable

设置登录触发器:Oracle setting per user default scheme (not altering a session)

答案 1 :(得分:1)

替换变量怎么样?

在frist连接中,只需:

 define myschema = foo

并在第二个连接中:

 define myschema = bar

查询可能如下所示:

select * from &myschema..tablename;

我已经在SQL Developer上测试了它,它需要&myschema和表名之间的两个点,当我只使用一个点时出现语法错误,我不知道为什么