Skip to content

Oracle Complex Query

Executes complex Oracle SQL statements, including multi-table joins and advanced clauses. Uses stored Oracle credentials and returns formatted results, typically as readable text plus raw JSON data. Designed to handle more sophisticated queries than the basic query node.

Usage

Use this node when you need to run advanced Oracle queries (e.g., multiple JOINs, GROUP BY, HAVING, ORDER BY) and get structured results. Commonly placed after a credentials/secret selection step, with downstream nodes consuming either the human-readable text or the JSON payload.

Inputs

FieldRequiredTypeDescriptionExample
credentials_pathTrueSTRINGPath or reference to the saved Oracle credentials configuration used for authentication./secrets/oracle.json
timeoutTrueINTMaximum time in seconds to wait for the database operation before it is aborted.60
sql_textTrueSTRINGThe Oracle SQL to execute. Supports complex SELECT queries with JOINs and advanced clauses.SELECT e.employee_id, e.first_name, e.last_name, d.department_name FROM employees e JOIN departments d ON e.department_id = d.department_id WHERE e.salary > 50000 ORDER BY d.department_name
query_typeTrueSTRINGA hint indicating the type of query being executed (e.g., SELECT).SELECT

Outputs

FieldTypeDescriptionExample
textSTRINGHuman-readable summary of the query result or status.Oracle Complex Query (SELECT): 25 rows returned
jsonJSONRaw result data and metadata from the Oracle query.{"rows": [{"EMPLOYEE_ID": 101, "FIRST_NAME": "Neena", "DEPARTMENT_NAME": "Sales"}], "row_count": 25}
htmlHTMLHTML representation of the results when available; otherwise empty....
EMPLOYEE_IDFIRST_NAMEDEPARTMENT_NAME
xlsxXLSXBinary/export handle for an Excel version of the results when available; otherwise empty.Not specified
pdfPDFBinary/export handle for a PDF version of the results when available; otherwise empty.Not specified

Important Notes

  • Credentials required: You must supply a valid Oracle credentials configuration via credentials_path.
  • Query type hint: query_type defaults to SELECT and should match the kind of SQL you run.
  • Best for SELECT: Use this node for complex SELECT queries. For INSERT/UPDATE/DELETE, consider using the Oracle Execute node.
  • Parameter placeholders: If using bind placeholders (e.g., :min_salary), ensure your backend or query includes the necessary literal values or handling, otherwise the database may return an error.
  • Timeouts: Long-running queries will be aborted if they exceed the specified timeout.

Troubleshooting

  • Authentication failed: Verify credentials_path points to a valid Oracle configuration and that the user has necessary permissions.
  • SQL syntax error: Validate sql_text for Oracle-specific syntax; test the query directly in a SQL client.
  • No results or missing columns: Confirm the schema/table names and join conditions are correct, and that the user can access those objects.
  • Timeout exceeded: Increase the timeout input or optimize the query (indexes, filters, reduce joins).
  • Bind variable errors: Replace placeholders with literals or ensure the runtime environment supports supplying bind values for the query.