Como fazer um INSERT com EXEC, é isso mesmo um insert com uma procedure.

Você utiliza a instrução “INSERT SELECT” para inserir os dados resultantes de uma determinada frase sql em uma tabela de destino.

A instução “INSERT EXEC” é semelhante a instrução citada acima, porém no lugar do “SELECT“, você utiliza o “EXEC“.

Vamos ao exemplo de como fazer:

Tabelas que serão utilizadas para nosso exemplo.

CREATE TABLE T_ESTADO
(
   UF VARCHAR(2),
   ESTADO VARCHAR(50)
);

CREATE TABLE T_UF
(
  UF VARCHAR(2)
);

Observação: Não me preocupei com índice e chave nas tabelas, pois apenas criei para o nosso exemplo.

Após criarmos as tabelas utilizadas em nosso exemplo, vamos popular a mesma.

INSERT INTO T_ESTADO (UF, ESTADO)
VALUES
('SP','SÃO PAULO'),
('AC', 'ACRE'),
('CE', 'CEARÁ'),
('GO','GOIÁS');

Agora vamos criar procedure que iremos utilizar no nosso exemplo de “INSERT EXEC“.

CREATE PROCEDURE P_ESTADO @ESTADO AS VARCHAR(50)
AS
SELECT UF FROM T_ESTADO
 WHERE ESTADO = @ESTADO;

Vamos fazer o nosso insert utilizando a instrução “INSERT EXEC“.

INSERT INTO T_UF (UF)
EXEC P_ESTADO 'ACRE';

Resultado do nosso insert:

Resultado


0 comentário

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *