Package gudusoft.gsqlparser.stmt
Class TLoopStmt
Object
gudusoft.gsqlparser.nodes.TParseTreeNode
gudusoft.gsqlparser.TCustomSqlStatement
gudusoft.gsqlparser.stmt.TBlockSqlStatement
gudusoft.gsqlparser.stmt.TLoopStmt
- All Implemented Interfaces:
IRelation,Visitable,Iterator<TSourceToken>
A LOOP statement executes a sequence of statements multiple times. PL/SQL provides
these loop statements:
- Basic loop
- WHILE loop
- FOR loop
FOR indexName IN lower_bound .. upper_bound LOOP statements END LOOP
- Cursor FOR loop
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class gudusoft.gsqlparser.TCustomSqlStatement
TCustomSqlStatement.SqlNormalizationProfile -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final intstatic final intstatic final intFields inherited from class gudusoft.gsqlparser.stmt.TBlockSqlStatement
blockBody, bodyStatements, declareStatements, exceptionClauseFields inherited from class gudusoft.gsqlparser.TCustomSqlStatement
dummytag, fromClause, fromSourceJoin, fromSourceTable, isctequery, isparsed, joins, parser, plsqlparser, relationAttributes, rootNode, semicolonended, sourcetokenlist, sqlstatementtype, stmtScope, tablesFields inherited from class gudusoft.gsqlparser.nodes.TParseTreeNode
dbvendor, doubleLinkedTokenListToString, nodeActionAppend, nodeActionInsert, nodeActionRemove, nodeActionUnknown, nodeActionUpdate, nodeActionUpdateText, nodeChangeEndToken, nodeChangeStartToken -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidAccept a visitorvoidAccept a visitor to iterate this class and sub-nodes of this classintUsed in while-loop-statementAn undeclared identifier that names the loop index.intgetKind()Used in for-loop-statement.Used in for-loop-statement.voidInitialize a query tree node.voidvoidvoidbooleanvoidsetCondition(TExpression condition) voidsetCursorName(TObjectName cursorName) voidsetCursorParameterNames(TExpressionList cursorParameterNames) voidsetExecuteExpr(TExpression executeExpr) voidsetExecuteUsingVars(TExpressionList executeUsingVars) voidsetIndexName(TObjectName indexName) voidsetKind(int kind) voidsetLower_bound(TExpression lower_bound) voidsetRecordName(TObjectName recordName) voidsetReverse(boolean reverse) voidsetSelectSqlNode(TSelectSqlNode selectSqlNode) voidsetSubquery(TSelectSqlStatement subquery) voidsetUpper_bound(TExpression upper_bound) Methods inherited from class gudusoft.gsqlparser.stmt.TBlockSqlStatement
getBlockBody, getBodyStatements, getDeclareStatements, getEndlabelName, getExceptionClause, getLabelName, getLabelNameStr, setBodyStatements, setDeclareStatements, setExceptionClauseMethods inherited from class gudusoft.gsqlparser.TCustomSqlStatement
addToTables, addWhereClause, analyzeFromTable, analyzeFromTable, analyzeJoin, analyzeTablename, analyzeTableOrJoin, asCanonical, checkNonQualifiedColumnReferenceInSubQueryOfUplevelStmt, clearError, computeSqlHash, dochecksyntax, findTable, fireOnMetaDatabaseTableColumn, getAncestorStmt, getAttributes, getColumnsInTable, getColumnsInTable, getCteIncludeThisStmt, getCteList, getDaxFunctionStack, getErrorCount, getErrormessage, getExpandedResultColumns, getFirstPhysicalTable, getFrameStack, getFromClause, getFromSourceJoin, getFromSourceTable, getGlobalScope, getIndexColumns, getJoins, getOrphanColumns, getOutputClause, getParentObjectName, getParentStmt, getQueryId, getRelationName, getRelations, getResultColumnList, getReturningClause, getSqlEnv, getSqlHash, getSqlHash, getStatements, getStmtScope, getSymbolTable, getSyntaxErrors, getSyntaxHints, getTables, getTargetTable, getTokenList, getTopClause, getTopStatement, getUsingVariableList, getVariableStack, getWhereClause, isathenaplsql, isBigQueryplsql, isdatabricksplsql, isGaussDBStoredProcedure, isgreeplumplsql, isnzplsql, isoracleplsql, ispgplsql, isprestoplsql, issnowflakeplsql, isTableACTE, isverticaplsql, linkColumnReferenceToTable, linkColumnToTable, linkToFirstTable, locateVariableOrParameter, locateVariableOrParameter, OracleStatementCanBeSeparatedByBeginEndPair, parseerrormessagehandle, parsestatement, parsestatement, searchCTEList, searchDaxVariableInStack, searchFunctionInSQLEnv, setAlreadyAddToParent, setCteIncludeThisStmt, setCteList, setEndlabelName, setFrameStack, setFromClause, setLabelName, setOutputClause, setParentStmt, setParentStmtToNull, setQueryId, setResultColumnList, setReturningClause, setSqlHash, setStmtScope, setTargetTable, setTopClause, setUsingVariableList, setVariableStack, setWhereClause, size, toNormalizedSql, toScript, VerticaStatementCanBeSeparatedByBeginEndPairMethods inherited from class gudusoft.gsqlparser.nodes.TParseTreeNode
addAllMyTokensToTokenList, addToTokenChain, appendNewNode, calculateTokenCount, doAppendNewNode, doParse, fastSetString, getAnchorNode, getColumnNo, getCommentAfterNode, getCommentBeforeNode, getCompactString, getDummyTag, getEndToken, getEvaluateDatatype, getEvalValue, getGsqlparser, getLineNo, getLocation, getMd5, getNodeStatus, getNodeType, getPlainText, getStartToken, getTokenCount, hasNext, init, init, insertAfterAToken, insertNewNodeBeforeMe, isChanged, isTokensInChain, next, refreshAllNodesTokenCount, remove, removeAllMyTokensFromTokenList, removeTokens, removeTokensBetweenNodes, removeTokensBetweenToken, replaceWithNewNode, resetIterator, setAnchorNode, setChanged, setDummyTag, setEndToken, setEndToken, setEndToken, setEndToken, setEndToken, setEndTokenDirectly, setEvaluateDatatype, setEvalValue, setGsqlparser, setIncludingComment, setLocation, setNewSubNode, setNodeStatus, setNodeType, setParent, setPlainText, setStartToken, setStartToken, setStartToken, setStartToken, setStartTokenDirectly, setString, setString2, subNodeInNode, toString, toString2Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface java.util.Iterator
forEachRemaining
-
Field Details
-
basic_loop
- See Also:
-
while_loop
- See Also:
-
for_loop
- See Also:
-
cursor_for_loop
- See Also:
-
-
Constructor Details
-
TLoopStmt
public TLoopStmt() -
TLoopStmt
-
-
Method Details
-
setKind
-
getKind
- Returns:
- What's kind of loop statement: simple, while or for.
-
getScalarVariables
-
getIndexName
An undeclared identifier that names the loop index. Or, it should be a record-name when kind is cursor_for_loop.- Returns:
- Index name used in for-loop-statement.
-
getRecordName
-
setReverse
-
isReverse
-
getUpper_bound
Used in for-loop-statement.- Returns:
-
getLower_bound
Used in for-loop-statement.- Returns:
-
setSubquery
-
getSubquery
- Returns:
- Select statement when
kindis cursor_for_loop.
-
setSelectSqlNode
-
setCursorParameterNames
-
getCursorParameterNames
- Returns:
- Cursor parameter names when
kindis cursor_for_loop if any.
-
init
Description copied from class:TParseTreeNodeInitialize a query tree node. Used internally- Overrides:
initin classTParseTreeNode- Parameters:
arg1- first argument
-
init
- Overrides:
initin classTParseTreeNode
-
init
- Overrides:
initin classTParseTreeNode
-
init
- Overrides:
initin classTParseTreeNode
-
getCursorName
- Returns:
- Cursor name when
kindis cursor_for_loop.
-
getCondition
Used in while-loop-statement- Returns:
- If and only if the value of this expression is TRUE, the statements in while will execute.
-
setExecuteExpr
-
setExecuteUsingVars
-
getExecuteExpr
-
getExecuteUsingVars
-
doParseStatement
- Overrides:
doParseStatementin classTBlockSqlStatement
-
accept
Description copied from class:TParseTreeNodeAccept a visitor- Specified by:
acceptin interfaceVisitable- Overrides:
acceptin classTBlockSqlStatement- Parameters:
v- visitor is a descendant class ofTParseTreeVisitor
-
acceptChildren
Description copied from class:TParseTreeNodeAccept a visitor to iterate this class and sub-nodes of this class- Specified by:
acceptChildrenin interfaceVisitable- Overrides:
acceptChildrenin classTBlockSqlStatement- Parameters:
v- visitor is a descendant class ofTParseTreeVisitor
-
setIndexName
-
setRecordName
-
setLower_bound
-
setUpper_bound
-
setCursorName
-
setCondition
-