use of net.sf.jsqlparser.statement.select.Join in project JSqlParser by JSQLParser.
the class Delete method toString.
@Override
public String toString() {
StringBuilder b = new StringBuilder("DELETE");
if (tables != null && tables.size() > 0) {
b.append(" ");
for (Table t : tables) {
b.append(t.toString());
}
}
b.append(" FROM ");
b.append(table);
if (joins != null) {
for (Join join : joins) {
if (join.isSimple()) {
b.append(", ").append(join);
} else {
b.append(" ").append(join);
}
}
}
if (where != null) {
b.append(" WHERE ").append(where);
}
if (orderByElements != null) {
b.append(PlainSelect.orderByToString(orderByElements));
}
if (limit != null) {
b.append(limit);
}
return b.toString();
}
use of net.sf.jsqlparser.statement.select.Join in project dal by ctripcorp.
the class SqlBuilder method plainSelectToStringAppendWithNoLock.
private static String plainSelectToStringAppendWithNoLock(PlainSelect plain) {
StringBuilder sql = new StringBuilder("SELECT ");
if (plain.getDistinct() != null)
sql.append(plain.getDistinct()).append(" ");
if (plain.getTop() != null)
sql.append(plain.getTop()).append(" ");
sql.append(PlainSelect.getStringList(plain.getSelectItems()));
if (plain.getFromItem() != null) {
sql.append(" FROM ").append(plain.getFromItem()).append(" WITH (NOLOCK) ");
if (plain.getJoins() != null) {
Iterator<Join> it = plain.getJoins().iterator();
while (it.hasNext()) {
Join join = it.next();
if (join.isSimple()) {
sql.append(", ").append(join).append(" WITH (NOLOCK) ");
} else {
String temp = join.toString().replace(join.getRightItem().toString(), join.getRightItem().toString() + " WITH (NOLOCK) ");
sql.append(" ").append(temp);
}
}
}
if (plain.getWhere() != null)
sql.append(" WHERE ").append(plain.getWhere());
if (plain.getOracleHierarchical() != null)
sql.append(plain.getOracleHierarchical().toString());
sql.append(PlainSelect.getFormatedList(plain.getGroupByColumnReferences(), "GROUP BY"));
if (plain.getHaving() != null)
sql.append(" HAVING ").append(plain.getHaving());
sql.append(PlainSelect.orderByToString(plain.isOracleSiblings(), plain.getOrderByElements()));
if (plain.getLimit() != null)
sql.append(plain.getLimit());
}
return sql.toString();
}
use of net.sf.jsqlparser.statement.select.Join in project JSqlParser by JSQLParser.
the class UpdateDeParser method deParse.
public void deParse(Update update) {
buffer.append("UPDATE ").append(PlainSelect.getStringList(update.getTables(), true, false)).append(" SET ");
if (!update.isUseSelect()) {
for (int i = 0; i < update.getColumns().size(); i++) {
Column column = update.getColumns().get(i);
column.accept(expressionVisitor);
buffer.append(" = ");
Expression expression = update.getExpressions().get(i);
expression.accept(expressionVisitor);
if (i < update.getColumns().size() - 1) {
buffer.append(", ");
}
}
} else {
if (update.isUseColumnsBrackets()) {
buffer.append("(");
}
for (int i = 0; i < update.getColumns().size(); i++) {
if (i != 0) {
buffer.append(", ");
}
Column column = update.getColumns().get(i);
column.accept(expressionVisitor);
}
if (update.isUseColumnsBrackets()) {
buffer.append(")");
}
buffer.append(" = ");
buffer.append("(");
Select select = update.getSelect();
select.getSelectBody().accept(selectVisitor);
buffer.append(")");
}
if (update.getFromItem() != null) {
buffer.append(" FROM ").append(update.getFromItem());
if (update.getJoins() != null) {
for (Join join : update.getJoins()) {
if (join.isSimple()) {
buffer.append(", ").append(join);
} else {
buffer.append(" ").append(join);
}
}
}
}
if (update.getWhere() != null) {
buffer.append(" WHERE ");
update.getWhere().accept(expressionVisitor);
}
if (update.getOrderByElements() != null) {
new OrderByDeParser(expressionVisitor, buffer).deParse(update.getOrderByElements());
}
if (update.getLimit() != null) {
new LimitDeparser(buffer).deParse(update.getLimit());
}
if (update.isReturningAllColumns()) {
buffer.append(" RETURNING *");
} else if (update.getReturningExpressionList() != null) {
buffer.append(" RETURNING ");
for (Iterator<SelectExpressionItem> iter = update.getReturningExpressionList().iterator(); iter.hasNext(); ) {
buffer.append(iter.next().toString());
if (iter.hasNext()) {
buffer.append(", ");
}
}
}
}
use of net.sf.jsqlparser.statement.select.Join in project JSqlParser by JSQLParser.
the class Update method toString.
@Override
public String toString() {
StringBuilder b = new StringBuilder("UPDATE ");
b.append(PlainSelect.getStringList(getTables(), true, false)).append(" SET ");
if (!useSelect) {
for (int i = 0; i < getColumns().size(); i++) {
if (i != 0) {
b.append(", ");
}
b.append(columns.get(i)).append(" = ");
b.append(expressions.get(i));
}
} else {
if (useColumnsBrackets) {
b.append("(");
}
for (int i = 0; i < getColumns().size(); i++) {
if (i != 0) {
b.append(", ");
}
b.append(columns.get(i));
}
if (useColumnsBrackets) {
b.append(")");
}
b.append(" = ");
b.append("(").append(select).append(")");
}
if (fromItem != null) {
b.append(" FROM ").append(fromItem);
if (joins != null) {
for (Join join : joins) {
if (join.isSimple()) {
b.append(", ").append(join);
} else {
b.append(" ").append(join);
}
}
}
}
if (where != null) {
b.append(" WHERE ");
b.append(where);
}
if (orderByElements != null) {
b.append(PlainSelect.orderByToString(orderByElements));
}
if (limit != null) {
b.append(limit);
}
if (isReturningAllColumns()) {
b.append(" RETURNING *");
} else if (getReturningExpressionList() != null) {
b.append(" RETURNING ").append(PlainSelect.getStringList(getReturningExpressionList(), true, false));
}
return b.toString();
}
use of net.sf.jsqlparser.statement.select.Join in project JSqlParser by JSQLParser.
the class SelectUtils method addJoin.
/**
* Adds a simple join to a select statement. The introduced join is returned for more
* configuration settings on it (e.g. left join, right join).
*
* @param select
* @param table
* @param onExpression
* @return
*/
public static Join addJoin(Select select, final Table table, final Expression onExpression) {
if (select.getSelectBody() instanceof PlainSelect) {
PlainSelect plainSelect = (PlainSelect) select.getSelectBody();
List<Join> joins = plainSelect.getJoins();
if (joins == null) {
joins = new ArrayList<Join>();
plainSelect.setJoins(joins);
}
Join join = new Join();
join.setRightItem(table);
join.setOnExpression(onExpression);
joins.add(join);
return join;
}
throw new UnsupportedOperationException(NOT_SUPPORTED_YET);
}
Aggregations