<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Erro ao Atribuir SQL concatenado a uma tabela]]></title><description><![CDATA[<p dir="auto">Boa tarde, estou tentando atribuir o seguinte SQL a uma tabela pela função "Abrir conexão dinâmica":<br />
<strong>SELECT	<br />
<em>'INSERT INTO rbl_alteracao_compras(data_alteracao,idcompras,cod_produto,qtde,unidade,data_antes,data_depois,diferenca)<br />
VALUES '</em>||string_agg( distinct<br />
'(CURRENT_DATE,'||cmp_comprasitens.idcompra||','''||bas_insumo.codigo||''','||coalesce(cast(cmp_comprasitens.qtdeestoque as integer),0.0)||','''||coalesce(bas_insumo.unidestoque,'UN')||''','''||cmp_comprasitens.entrega||''','''||'2022-10-20'||''','||('2022-10-20' - cmp_comprasitens.entrega)||')',',<br />
')||';' as insert_compras<br />
FROM	<br />
ped_itens<br />
INNER JOIN ped_pedido ON ped_itens.idpedido = ped_pedido.idpedido<br />
INNER JOIN bas_funcionario ON ped_pedido.idfuncionario = bas_funcionario.idfuncionario<br />
LEFT JOIN bas_empresa ON ped_pedido.idcliente = bas_empresa.idempresa<br />
LEFT JOIN bas_insumo ON ped_itens.idinsumo = bas_insumo.idinsumo<br />
LEFT JOIN cmp_comprasitens ON ped_itens.idinsumo = cmp_comprasitens.idproduto<br />
LEFT JOIN est_saldo ON ped_itens.idinsumo = est_saldo.idinsumo AND est_saldo.idlocalestoque = 1<br />
LEFT JOIN flw_registro On ped_itens.idpedido = flw_registro.idpedido<br />
WHERE	<br />
ped_itens.idstatus IN (0, 1, 2, 3, 7)<br />
AND flw_registro.idstatus = 1<br />
AND flw_registro.idnivel2 = 144<br />
AND cmp_comprasitens.iditem IN (350093)</strong><br />
Porém, ao usar essa função, me aparece o seguinte erro:<br />
<img src="/assets/uploads/files/1663859371800-d4c017a9-c279-4182-9a38-75443d8685da-image.png" alt="d4c017a9-c279-4182-9a38-75443d8685da-image.png" class=" img-fluid img-markdown" /><br />
Pelo que estava testando, o problema é gerado quando faço strings dentro do campo, ou seja, monto a estrutura do insert entre as duas primeiras aspas simples (parte que está em negrito e itálico).<br />
Também tentei usar outras funções, como a abrir consulta dinamica navegavel, avançada, etc e continua dando o mesmo erro.<br />
Podem me ajudar por favor?</p>
]]></description><link>https://forum.softwell.com.br/topic/31669/erro-ao-atribuir-sql-concatenado-a-uma-tabela</link><generator>RSS for Node</generator><lastBuildDate>Tue, 11 Aug 2026 11:36:21 GMT</lastBuildDate><atom:link href="https://forum.softwell.com.br/topic/31669.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 22 Sep 2022 15:11:53 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Erro ao Atribuir SQL concatenado a uma tabela on Thu, 29 Sep 2022 20:18:49 GMT]]></title><description><![CDATA[<p dir="auto">Obrigado, ajudou!</p>
]]></description><link>https://forum.softwell.com.br/post/42255</link><guid isPermaLink="true">https://forum.softwell.com.br/post/42255</guid><dc:creator><![CDATA[ian_pinheiro]]></dc:creator><pubDate>Thu, 29 Sep 2022 20:18:49 GMT</pubDate></item><item><title><![CDATA[Reply to Erro ao Atribuir SQL concatenado a uma tabela on Thu, 22 Sep 2022 16:16:31 GMT]]></title><description><![CDATA[<p dir="auto">Boa tarde, <a class="plugin-mentions-user plugin-mentions-a" href="/user/ian_pinheiro">@<bdi>ian_pinheiro</bdi></a>!</p>
<p dir="auto">Por motivos de segurança e integridade, as funções de abrir consulta fazem verificação do SQL que está sendo passado e permitem somente a execução de comandos <strong>SELECT</strong>.</p>
<p dir="auto">Por algum motivo, a função achou que estava sendo executado o comando de INSERT que você está montando como um campo na sua query. Isso é um comportamento atípico e irei reportá-lo ao setor.</p>
<p dir="auto">Entretanto, o ideal nessa situação, seria que você executasse o comando de inserção no fluxo passando os parâmetros ao invés de montar ele no banco de dados. Assim você chamaria a função de abrir consulta somente para pegar os valores desejados e em seguida utilizasse a função <code>Executar Comandos SQL</code> passando seu comando de inserção e a lista de parâmetros (valores obtidos do banco):</p>
<pre><code>INSERT INTO rbl_alteracao_compras (data_alteracao, idcompras, cod_produto, qtde, unidade, data_antes, data_depois, diferenca) VALUES (?, ?, ?, ?, ?, ?, ?, ?)
</code></pre>
<p dir="auto"><img src="/assets/uploads/files/1663863150092-50ccc314-c60c-42a6-b95c-c1ff62ab1916-image.png" alt="50ccc314-c60c-42a6-b95c-c1ff62ab1916-image.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">Atenciosamente,</p>
]]></description><link>https://forum.softwell.com.br/post/42206</link><guid isPermaLink="true">https://forum.softwell.com.br/post/42206</guid><dc:creator><![CDATA[dngadelha]]></dc:creator><pubDate>Thu, 22 Sep 2022 16:16:31 GMT</pubDate></item></channel></rss>