Como fazer um INSERT com EXEC
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:
Nenhum comentário