title: Java prepared statement parameters for oracle alter session query
body: <p>I tried executing the oracle alter session query for changing the language settings but it fails with an error "ORA-01036: illegal variable name/number".</p>
  
  <pre><code>preparedStatement = connection.prepareStatement("ALTER SESSION SET NLS_SORT = ?");
  
  preparedStatement.setString(1, "BINARY_CI");
  
  preparedStatement.execute();
  </code></pre>
  
  <p>Oracle does not allow to bind variables in ddl statements. Since bind variables have a performance gain (in my use case this alter session query would be executed on every connection used in the web application) and it also prevents the application from SQL injection I wanted to use them. If not bind variables is there any other optimized way of executing the above alter session query?</p>