This topic describes the method and limits of executing INSERT INTO statements in Realtime Compute for Apache Flink.
|Source table||Can be referenced in only FROM clauses and does not support INSERT statements.|
|Dimension table||Can be referenced in only JOIN statements and does not support INSERT statements.|
|Result table||Supports only INSERT statements.|
|View||Can be referenced in only FROM clauses.|
INSERT INTO tableName [ (columnName[ , columnName]*) ] queryStatement;
INSERT INTO LargeOrders SELECT * FROM Orders WHERE units > 1000; INSERT INTO Orders(z,v) SELECT c,d FROM OO;
- In Realtime Compute for Apache Flink, a single SQL job can contain multiple data manipulation language (DML) operations, data sources, data destinations, and dimension tables. For example, a job file can contain two snippets of SQL statements for independent services. You can execute the SQL statements to write data to different data destinations.
- Realtime Compute for Apache Flink does not allow you to execute a separate SELECT statement to query data. To execute a SELECT statement, you must include the SELECT statement in a CREATE VIEW or an INSERT INTO statement.
- You can execute an INSERT INTO statement to update an existing record. For example, you can insert a key value into an ApsaraDB for RDS result table that contains a primary key. If the key value already exists, the existing record is updated. If the key value does not exist, a new key value is inserted.