Community Announcements have moved! To stay up to date, please join the new Community Announcements group today. Learn more
×Hi,
How can a SQL using multiple resources be executed in a scriptrunner macro?
E.g. now I have a macro like this:
def rows = DatabaseUtil.withSql('<resourcename>') { sql ->
sql.rows("SELECT <row> FROM <table>")
Which works.
But what if I would like to execute a SQL like "SELECT <row> FROM <db1.table> INNER JOIN <db2.table>"? Can I create both resources can execute the SQL like:
def rows = DatabaseUtil.withSql('<resourcename1>, <resourcename2>') { sql ->
If you are using Oracle Databases, I would create a DB-Link on the Database A to the Database B.
https://www.oracletutorial.com/oracle-administration/oracle-create-database-link/
In the sql query on Database A, you can then join the remote tables of Database B.
E.g.
select *
from mylocaltable a
join myremotetable@databaseB b on (a.mykey = b.myotherkey)
I suppose other databases can do the same with different Syntax.
Using database Links you only need one scriptrunner resource.
If you want to use two resources in scriptrunner, you will have to achieve your goal differently than executing one single SQL Statement on tables wich are on two different databases.
Unlock your potential and learn how to use Jira Product Discovery to your advantage. You’ll have the expertise to revolutionize ideas and insights, roadmapping, engage and align teams and stakeholders, and deliver the best solutions—faster. Enroll today!
Start Learning
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.