Package gudusoft.gsqlparser.stmt
Class TInsertSqlStatement
Object
gudusoft.gsqlparser.nodes.TParseTreeNode
gudusoft.gsqlparser.TCustomSqlStatement
gudusoft.gsqlparser.stmt.TInsertSqlStatement
- All Implemented Interfaces:
IRelation,Visitable,Iterator<TSourceToken>
SQL insert statement.
Usually, the data comes from a value clause, you can get those values from
Always checking
Examples:
column list: (Name, UnitMeasureCode,ModifiedDate). Fetch from
value list: (N'Square Yards', N'Y2', GETDATE()). Fetch from
TCustomSqlStatement.getTargetTable() returns the table or view that receive the data.
getColumnList() returns the list of columns in target table if specified.
Usually, the data comes from a value clause, you can get those values from
getValues().
Always checking
getInsertSource() before fetch the data source which may various from value clause
to subquery and other forms. Below are some data source types:
Examples:
INSERT INTO Production.UnitMeasure (Name, UnitMeasureCode,ModifiedDate) VALUES (N'Square Yards', N'Y2', GETDATE());Table name: Production.UnitMeasure. Fetched from
TCustomSqlStatement.getTargetTable() or the first element of TCustomSqlStatement.tables
column list: (Name, UnitMeasureCode,ModifiedDate). Fetch from
getColumnList()
value list: (N'Square Yards', N'Y2', GETDATE()). Fetch from
getValues()
INSERT INTO dbo.EmployeeSales SELECT 'SELECT', sp.BusinessEntityID, c.LastName, sp.SalesYTD FROM Sales.SalesPerson AS sp INNER JOIN Person.Person AS c ON sp.BusinessEntityID = c.BusinessEntityID WHERE sp.BusinessEntityID LIKE '2%' ORDER BY sp.BusinessEntityID, c.LastName;select query in above insert statement can be fetched from
getSubQuery()- See Also:
-
TCustomSqlStatement.cteListTCustomSqlStatement.targetTableTCustomSqlStatement.outputClauseTCustomSqlStatement.returningClause
-
Nested Class Summary
Nested classes/interfaces inherited from class gudusoft.gsqlparser.TCustomSqlStatement
TCustomSqlStatement.SqlNormalizationProfile -
Field Summary
Fields 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 classintcolumns of the target table.Hive directory nameOracle, values in else clauseOracle error logging clauseSQL Server, execute statement used in the insert statement.value clause valid whengetInsertSource()isEInsertSource.values_function.Hive insert typeIGNORE keyword used in the insert statement.Oracle insert conditionOracle insert into values used after insert all/first clauseType of the source from where the data is coming for this insert statement.INSERT keywordHive, from table insert..., insert ...MySQL on duplicate key update column list.DELAY, LOW_PRIORITY, HIGH_PRIORITY keyword used in insert statement.Oracle PLSQL record name in values clause,getInsertSource()returnsEInsertSource.values_oracle_recordset column value clauses in MySQL insert statement.value clause valid whengetInsertSource()isEInsertSource.subquery.value clause, valid whengetInsertSource()isEInsertSource.values.intDeprecated.booleanOracle insert allbooleanOracle insert firstvoidsetColumnList(TObjectNameList columnList) voidsetDirectoryName(TObjectName directoryName) voidsetErrorLoggingClause(TErrorLoggingClause errorLoggingClause) voidsetExecuteStmt(TMssqlExecute executeStmt) voidsetFunctionCall(TFunctionCall functionCall) voidsetHiveInsertType(EHiveInsertType hiveInsertType) voidsetInsertAll(boolean insertAll) voidsetInsertConditions(TPTNodeList<TInsertCondition> insertConditions) voidsetInsertFirst(boolean insertFirst) voidsetInsertIntoValues(TPTNodeList<TInsertIntoValue> insertIntoValues) voidsetInsertSource(EInsertSource insertSource) voidsetInsertToken(TSourceToken insertToken) voidsetOnDuplicateKeyUpdate(TResultColumnList onDuplicateKeyUpdate) voidsetRecordName(TObjectName recordName) voidsetSetColumnValues(TResultColumnList setColumnValues) voidsetSubQuery(TSelectSqlStatement subQuery) voidsetValues(TMultiTargetList values) voidsetValueType(int valueType) Methods 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, getEndlabelName, getErrorCount, getErrormessage, getExpandedResultColumns, getFirstPhysicalTable, getFrameStack, getFromClause, getFromSourceJoin, getFromSourceTable, getGlobalScope, getIndexColumns, getJoins, getLabelName, 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, init, init, 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
-
Constructor Details
-
TInsertSqlStatement
-
-
Method Details
-
getMultiInsertStatements
Hive, from table insert..., insert ...- Returns:
-
getFileFormat
-
getFileOptions
-
getSourceValueTable
-
setInsertAll
-
setInsertFirst
-
isInsertAll
Oracle insert all- Returns:
- Oracle insert all
-
isInsertFirst
Oracle insert first- Returns:
- Oracle insert first
-
getErrorLoggingClause
Oracle error logging clause- Returns:
- Oracle error logging clause
-
getHiveInsertType
Hive insert type- Returns:
- Hive insert type
-
getDirectoryName
Hive directory name- Returns:
- directory name
-
getInsertConditions
Oracle insert condition- Returns:
- Oracle insert condition
-
getInsertIntoValues
Oracle insert into values used after insert all/first clause- Returns:
- Oracle insert into values used after insert all/first clause
-
setInsertToken
-
getInsertToken
INSERT keyword- Returns:
- INSERT keyword
-
getSubQuery
value clause valid whengetInsertSource()isEInsertSource.subquery.- Returns:
sub-query
-
getFunctionCall
value clause valid whengetInsertSource()isEInsertSource.values_function.- Returns:
- row value was constructed by a function.
-
getRecordName
Oracle PLSQL record name in values clause,getInsertSource()returnsEInsertSource.values_oracle_record- Returns:
- record name in plsql.
-
getInsertSource
Type of the source from where the data is coming for this insert statement.- Returns:
- Type of the data source
-
getValueType
Deprecated.As of v1.6.4.9, usegetInsertSource()instead.- Returns:
- how rows was insert into table. value can be one of
vt_values,
getValues()vt_values_empty, syntax like: value ()
vt_query,
getSubQuery()vt_default_values,
vt_execute,
vt_values_function,
getFunctionCall()
-
getValues
value clause, valid whengetInsertSource()isEInsertSource.values. represents in format like this: ((1,2,3),(4,5),(6,7,8)), if even value clause is (1,2,3), it will be saved inTMultiTargetListlike ((1,2,3))- Returns:
- a single row value, or multi row values returned by query or value constructor.
-
getOnDuplicateKeyUpdate
MySQL on duplicate key update column list.- Returns:
- MySQL on duplicate key update column list
-
getIgnore
IGNORE keyword used in the insert statement.- Returns:
- IGNORE keyword if used, otherwise, returns null.
-
getPriority_delayed
DELAY, LOW_PRIORITY, HIGH_PRIORITY keyword used in insert statement.- Returns:
- null if none of those keywords is used: DELAY, LOW_PRIORITY, HIGH_PRIORITY
-
getSetColumnValues
set column value clauses in MySQL insert statement.- Returns:
- MySQL specific column value list.
-
getColumnList
columns of the target table.- Returns:
- column name list in insert into clause.
-
setValues
-
setColumnList
-
setSubQuery
-
getExecuteStmt
SQL Server, execute statement used in the insert statement.getInsertSource()returnsEInsertSource.execute- Returns:
- SQL Server, execute statement
-
getElseIntoValues
Oracle, values in else clause- Returns:
- values in else clause
-
doParseStatement
- Overrides:
doParseStatementin classTCustomSqlStatement
-
accept
Description copied from class:TParseTreeNodeAccept a visitor- Specified by:
acceptin interfaceVisitable- Overrides:
acceptin classTParseTreeNode- 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 classTParseTreeNode- Parameters:
v- visitor is a descendant class ofTParseTreeVisitor
-
setErrorLoggingClause
-
setHiveInsertType
-
setDirectoryName
-
setInsertConditions
-
setInsertIntoValues
-
setFunctionCall
-
setExecuteStmt
-
setRecordName
-
setInsertSource
-
setValueType
-
setSetColumnValues
-
setOnDuplicateKeyUpdate
-
getInsertSource()instead.