This is a very open question, but I think it can be very useful for reading SQL.
So, you have a Java program, and you are trying to invoke a monster SQL query from it, with many subqueries and joins. The starting point for my question is a string constant like this:
static string MONSTER_STATEMENT = "SELECT " + " fields" + "WHERE "+ " fieldA = (SELECT a FROM TableC) " + "AND fieldB IN (%s)" + "AND fieldC = %d " + "FROM " " tableA INNER JOIN tableB ON ...";
Then it is populated using String.format and executed.
What are you doing to make this material readable? Do you share your inner connections. Are you inserting SQL itself inside a string? Where do you put comments? Please share all the tricks in your arsenal.
, SQL , , , Management Studio. , SQL, , . , , SQL, , - SQL Profiler. , StringBuilder SQL :
StringBuilder
StringBuilder sql = new StringBuilder(); sql.append("Select ...."); sql.append("\t\n, AdditionalCol, ..."); sql.append("\nFrom ..."); sql.append("\n Inner Join ..."); sql.append("\n On ColA = ..."); sql.append("\nWhere Col1 = ("); sql.append("\n Select a"); sql.append("\n From TableC"); sql.append("\n "); sql.append("\n And ColB In(%s)"); sql.append("\n And ColC = %d");
, , . : http://openhms.sourceforge.net/sqlbuilder/
, .
SQL , String.format, SQL-.
String.format
: /xml. Java SQL.
IDEA , Java, ( , ), .
: , , . - , , , ( ), - , (String.format - ) , ( , ), , .
, , , configuration/xml - , .