Todos os produtos
Search
Central de documentação

Realtime Compute for Apache Flink:INSERT INTO

Última atualização: Jun 27, 2026

Use a instrução INSERT INTO para gravar dados em um ou mais sinks em um job.

Suporte a SQL hints

A instrução INSERT aceita SQL hints com a palavra-chave OPTIONS para passar parâmetros a uma tabela sink. Para obter mais informações, consulte SQL Hints.

Gravar em um único sink

Execute uma única instrução INSERT INTO diretamente, sem encapsulamento.

-- 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;

Gravar em múltiplos sinks

Agrupe várias instruções INSERT INTO em um conjunto de instruções usando BEGIN STATEMENT SET; e END;.

Importante

Uma instrução que grava em múltiplos sinks deve começar com BEGIN STATEMENT SET; e terminar com END;.

O exemplo a seguir grava dados em dois sinks a partir da mesma 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.