繁体   English   中英

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

[英]Are connection specific variables in Oracle SQL Developer possible?

我正在使用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连接的“ BAR ”。

如果有助于澄清,则类似于环境变量的想法。

我认为sqldeveloper中没有任何您需要的东西。

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

设置登录触发器: 每个用户默认方案的Oracle设置(不更改会话)

那替代变量呢?

在第一个连接中,只需执行以下操作:

 define myschema = foo

在第二个连接中:

 define myschema = bar

该查询可能如下所示:

select * from &myschema..tablename;

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM