Tous les produits
Search
Centre de documentation

Realtime Compute for Apache Flink:INSERT INTO

Dernière mise à jour :Aug 09, 2026

Utilisez l'instruction INSERT INTO pour écrire dans une ou plusieurs tables de destination (sinks) au sein d'un job.

Prise en charge des indications SQL

L'instruction INSERT prend en charge les indications SQL via le mot-clé OPTIONS pour transmettre des paramètres à une table de destination. Pour plus d'informations, consultez la documentation SQL Hints.

Écriture vers une seule destination

Exécutez directement une instruction INSERT INTO unique, sans bloc englobant.

-- Create a source table.
CREATE TEMPORARY TABLE datagen_source (
  name VARCHAR,
  score BIGINT
) WITH (
  'connector' = 'datagen'
);

-- Create a sink table.
CREATE TEMPORARY TABLE blackhole_sink (
  name VARCHAR,
  score BIGINT
) WITH (
  'connector' = 'blackhole'
);

-- Write transformed data to the sink.
INSERT INTO blackhole_sink SELECT UPPER(name), score FROM datagen_source;

Écriture vers plusieurs destinations

Regroupez plusieurs instructions INSERT INTO dans un ensemble d'instructions à l'aide des mots-clés BEGIN STATEMENT SET; et END;.

Important

Une instruction écrivant vers plusieurs destinations doit impérativement commencer par BEGIN STATEMENT SET; et se terminer par END;.

L'exemple suivant écrit des données vers deux destinations distinctes à partir d'une même source.

-- Create a source table.
CREATE TEMPORARY TABLE datagen_source (
  name VARCHAR,
  score BIGINT
) WITH (
  'connector' = 'datagen'
);

-- Create sink table A.
CREATE TEMPORARY TABLE blackhole_sinkA (
  name VARCHAR,
  score BIGINT
) WITH (
  'connector' = 'blackhole'
);

-- Create sink table B.
CREATE TEMPORARY TABLE blackhole_sinkB (
  name VARCHAR,
  score BIGINT
) WITH (
  'connector' = 'blackhole'
);

-- Write to both sinks in a single optimized execution.
BEGIN STATEMENT SET;      -- Required for writing to multiple sinks.
INSERT INTO blackhole_sinkA
  SELECT UPPER(name), sum(score)
  FROM datagen_source
  GROUP BY UPPER(name);
INSERT INTO blackhole_sinkB
  SELECT LOWER(name), max(score)
  FROM datagen_source
  GROUP BY LOWER(name);
END;                      -- Required for writing to multiple sinks.