in parser/sql/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/type/OracleDDLStatementVisitor.java [1537:1594]
public ASTNode visitSqlStatementInPlsql(final SqlStatementInPlsqlContext ctx) {
if (null != ctx.commit()) {
OracleStatementVisitor visitor = createOracleTCLStatementVisitor();
SQLStatement result = (SQLStatement) visitor.visitCommit(ctx.commit());
getSqlStatementsInPlsql().add(new SQLStatementSegment(ctx.commit().start.getStartIndex(), ctx.commit().stop.getStopIndex(), result));
addToTempCursorForLoopStatements(result);
}
// TODO visit collection_method_call
if (null != ctx.delete()) {
OracleStatementVisitor visitor = createOracleDMLStatementVisitor();
SQLStatement result = (SQLStatement) visitor.visitDelete(ctx.delete());
getSqlStatementsInPlsql().add(new SQLStatementSegment(ctx.delete().start.getStartIndex(), ctx.delete().stop.getStopIndex(), result));
addToTempCursorForLoopStatements(result);
}
if (null != ctx.insert()) {
OracleStatementVisitor visitor = createOracleDMLStatementVisitor();
SQLStatement result = (SQLStatement) visitor.visitInsert(ctx.insert());
getSqlStatementsInPlsql().add(new SQLStatementSegment(ctx.insert().start.getStartIndex(), ctx.insert().stop.getStopIndex(), result));
addToTempCursorForLoopStatements(result);
}
if (null != ctx.lock()) {
OracleStatementVisitor visitor = createOracleDMLStatementVisitor();
SQLStatement result = (SQLStatement) visitor.visitLock(ctx.lock());
getSqlStatementsInPlsql().add(new SQLStatementSegment(ctx.lock().start.getStartIndex(), ctx.lock().stop.getStopIndex(), result));
addToTempCursorForLoopStatements(result);
}
if (null != ctx.merge()) {
OracleStatementVisitor visitor = createOracleDMLStatementVisitor();
SQLStatement result = (SQLStatement) visitor.visitMerge(ctx.merge());
getSqlStatementsInPlsql().add(new SQLStatementSegment(ctx.merge().start.getStartIndex(), ctx.merge().stop.getStopIndex(), result));
addToTempCursorForLoopStatements(result);
}
if (null != ctx.rollback()) {
OracleStatementVisitor visitor = createOracleTCLStatementVisitor();
SQLStatement result = (SQLStatement) visitor.visitRollback(ctx.rollback());
getSqlStatementsInPlsql().add(new SQLStatementSegment(ctx.rollback().start.getStartIndex(), ctx.rollback().stop.getStopIndex(), result));
addToTempCursorForLoopStatements(result);
}
if (null != ctx.savepoint()) {
OracleStatementVisitor visitor = createOracleTCLStatementVisitor();
SQLStatement result = (SQLStatement) visitor.visitSavepoint(ctx.savepoint());
getSqlStatementsInPlsql().add(new SQLStatementSegment(ctx.savepoint().start.getStartIndex(), ctx.savepoint().stop.getStopIndex(), result));
addToTempCursorForLoopStatements(result);
}
if (null != ctx.setTransaction()) {
OracleStatementVisitor visitor = createOracleTCLStatementVisitor();
SQLStatement result = (SQLStatement) visitor.visitSetTransaction(ctx.setTransaction());
getSqlStatementsInPlsql().add(new SQLStatementSegment(ctx.setTransaction().start.getStartIndex(), ctx.setTransaction().stop.getStopIndex(), result));
addToTempCursorForLoopStatements(result);
}
if (null != ctx.update()) {
OracleStatementVisitor visitor = createOracleDMLStatementVisitor();
SQLStatement result = (SQLStatement) visitor.visitUpdate(ctx.update());
getSqlStatementsInPlsql().add(new SQLStatementSegment(ctx.update().start.getStartIndex(), ctx.update().stop.getStopIndex(), result));
addToTempCursorForLoopStatements(result);
}
return defaultResult();
}