<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:"Liberation Mono";}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
text-decoration:underline;}
pre
{mso-style-priority:99;
mso-style-link:"HTML con formato previo Car";
margin:0cm;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Courier New";
color:black;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:36.0pt;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
span.HTMLconformatoprevioCar
{mso-style-name:"HTML con formato previo Car";
mso-style-priority:99;
mso-style-link:"HTML con formato previo";
font-family:"Courier New";
color:black;}
.MsoChpDefault
{mso-style-type:export-only;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:70.85pt 3.0cm 70.85pt 3.0cm;}
div.WordSection1
{page:WordSection1;}
/* List Definitions */
@list l0
{mso-list-id:134882280;
mso-list-type:hybrid;
mso-list-template-ids:-1948751264 -1 201981955 201981957 201981953 201981955 201981957 201981953 201981955 201981957;}
@list l0:level1
{mso-level-start-at:3;
mso-level-number-format:bullet;
mso-level-text:\F06E;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Wingdings;
mso-fareast-font-family:"Times New Roman";
mso-bidi-font-family:"Times New Roman";}
@list l0:level2
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:"Courier New";}
@list l0:level3
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Wingdings;}
@list l0:level4
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Symbol;}
@list l0:level5
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:"Courier New";}
@list l0:level6
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Wingdings;}
@list l0:level7
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Symbol;}
@list l0:level8
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:"Courier New";}
@list l0:level9
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Wingdings;}
@list l1
{mso-list-id:1068185289;
mso-list-type:hybrid;
mso-list-template-ids:-431583218 -1 201981955 201981957 201981953 201981955 201981957 201981953 201981955 201981957;}
@list l1:level1
{mso-level-start-at:3;
mso-level-number-format:bullet;
mso-level-text:-;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:"Calibri",sans-serif;
mso-fareast-font-family:"Times New Roman";}
@list l1:level2
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:"Courier New";}
@list l1:level3
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Wingdings;}
@list l1:level4
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Symbol;}
@list l1:level5
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:"Courier New";}
@list l1:level6
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Wingdings;}
@list l1:level7
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Symbol;}
@list l1:level8
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:"Courier New";}
@list l1:level9
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Wingdings;}
ol
{margin-bottom:0cm;}
ul
{margin-bottom:0cm;}
--></style></head><body lang=ES link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal>Prueba a usar los bloques en postgres:</p><p class=MsoNormal>Do $$</p><p class=MsoNormal>Declare</p><p class=MsoNormal>//aquí pones variables si necesitas</p><p class=MsoNormal>Begin</p><p class=MsoNormal>//aquí los comandos.</p><p class=MsoNormal>End;</p><p class=MsoNormal>$$</p><p class=MsoNormal>Mira este link: <a href="https://www.postgresql.org/docs/9.0/sql-do.html">https://www.postgresql.org/docs/9.0/sql-do.html</a></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Un abrazo.</p><p class=MsoNormal>iDesk</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Enviado desde <a href="https://go.microsoft.com/fwlink/?LinkId=550986">Correo</a> para Windows 10</p><p class=MsoNormal><o:p> </o:p></p><div style='mso-element:para-border-div;border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal style='border:none;padding:0cm'><b>De: </b><a href="mailto:lazarus-es@lists.lazarus-ide.org">Alfonso Arias Lemas via Lazarus-es</a><br><b>Enviado: </b>viernes, 5 de abril de 2019 15:21<br><b>Para: </b><a href="mailto:lazarus-es@lists.lazarus-ide.org">lazarus-es@lists.lazarus-ide.org</a><br><b>CC: </b><a href="mailto:alfonsoariaslemas@gmail.com">Alfonso Arias Lemas</a><br><b>Asunto: </b>Re: [Lazarus-es] Problema con Zeos e PostgreSQL en versión de Lazarus 2.00</p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal style='margin-bottom:12.0pt'><span style='font-size:12.0pt;font-family:"Times New Roman",serif;color:black'>Hola José.<br>Implementé el ejemplo que mandas en<br><br><a href="https://stackoverflow.com/questions/16759373/multiple-statements-delphi-tzquery-zeos-error">https://stackoverflow.com/questions/16759373/multiple-statements-delphi-tzquery-zeos-error</a> <br><br>y continua a dar el mismo error, me llamó la atención que es para Delphi pero no se si sería equivalente 100% para Lazarus. A modo de ejemplo use la misma query mostrada en el Email enviado por mi que podría ser un procedimiento almacenado sin duda pero para ejemplificar sirve. <br><br><b>UPDATE app.a_arbol SET cod='00096',descrip='MTCV' WHERE id=5200; <br>UPDATE app.a_pt SET longitud=-23.491440000000,latitud=14.919906000000,control_ip=0,circuito_comando=True,comentario='',<br> potencianominal=20.0,tipofornecimento=1,estado=True WHERE idarbol=5200;<br></b><br>en este caso yo necesito que si es actualizada una sentencia sea la otra también y si no nada.</span><span style='font-family:"Times New Roman",serif;color:black'><o:p></o:p></span></p><div><pre><span style='font-size:9.0pt;font-family:"Liberation Mono"'> <span lang=PT> </span></span><b><span lang=PT style='font-size:12.0pt;font-family:"Liberation Mono"'>Alfonso Arias Lemas</span></b></pre><pre><span lang=PT style='font-size:9.0pt;font-family:"Liberation Mono"'> Email: <a href="mailto:alfonsoariaslemas@gmail.com" target="_blank">alfonsoariaslemas@gmail.com</a></span></pre><pre><span lang=PT style='font-size:9.0pt;font-family:"Liberation Mono"'> </span><span style='font-size:9.0pt;font-family:"Liberation Mono"'>Skype: alfonso291104</span></pre><pre><span style='font-size:9.0pt;font-family:"Liberation Mono"'> Viber: +34 666072614</span></pre><pre><span style='font-size:9.0pt;font-family:"Liberation Mono"'> WhatsApp: +34 666072614</span></pre><pre><span style='font-size:9.0pt;font-family:"Liberation Mono"'> Móvel CV: </span><b><span style='font-size:9.0pt;font-family:"Liberation Mono";color:#330099'>+238 5882123/9578108</span></b></pre><p style='margin-bottom:0cm;margin-bottom:.0001pt'> </p></div><div><p class=MsoNormal><span style='color:black'>El 5/4/2019 a las 6:58 AM, José Mejuto via Lazarus-es escribió:<o:p></o:p></span></p></div><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><p class=MsoNormal><span style='color:black'>El 04/04/2019 a las 23:46, Alfonso Arias Lemas via Lazarus-es escribió: <br><br><br><o:p></o:p></span></p><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><p class=MsoNormal><span style='color:black'>Resalto que esto no sucedía antes. <br>Haciendo un /debugger /(depurando el sistema) tomo las sentencias SQL para PostgreSQL que da error desde el sistema y a modo de ejemplo: <br><br>*UPDATE app.a_arbol SET cod='00096',descrip='MTCV' WHERE id=5200; <br>UPDATE app.a_pt SET longitud=-23.491440000000,latitud=14.919906000000,control_ip=0,circuito_comando=True,comentario='',<br>potencianominal=20.0,tipofornecimento=1,estado=True WHERE idarbol=5200; <br>* <br>las coloco en el analizador de consultas del pgadmin e corren perfectamente mas si ejecuto esta misma sentencia desde el programa me da el error anterior. <o:p></o:p></span></p></blockquote><p class=MsoNormal><span style='color:black'><br>Hola, <br><br>Múltiples sentencias en un único query no se deben de usar, porque si eso es válido, esto también debería serlo y verás que no tiene sentido: <br><br>------- <br>SELECT * from TABLENOMBRES; <br>SELECT * from TABLECOCHES; <br>------- <br><br><br><o:p></o:p></span></p><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><p class=MsoNormal><span style='color:black'>Busque en otros forum mas lo unico que sugieren es que realiza las transacciones sentencia por sentencia pero yo necesito que sea univoca y atómica, o sea, todo o nada. <o:p></o:p></span></p></blockquote><p class=MsoNormal><span style='color:black'><br>La transacción es eso, única y atómica. Todas las operaciones hasta que realices el Commit se harán en una sola operación, o el Commit fallará. <br><br><br><o:p></o:p></span></p><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><p class=MsoNormal><span style='color:black'><br>Alguien sabe si para la versión esta de Lazarus 2.00 y Zeos 7.2.4 existe algún parámetro o propiedad nueva que permita hacer/definir transacciones simples o complejas con mas de una sentencia. <o:p></o:p></span></p></blockquote><p class=MsoNormal style='margin-bottom:12.0pt'><span style='color:black'><br>Supongo que estás trabajando en modo "AutoCommit", eso lo que hace es que cada vez que realices una operación se ejecuta un "Commit" oculto. En este ejemplo de stackoverflow te lo muestran con código de ejemplo: <br><br><a href="https://stackoverflow.com/questions/16759373/multiple-statements-delphi-tzquery-zeos-error">https://stackoverflow.com/questions/16759373/multiple-statements-delphi-tzquery-zeos-error</a> <br><br>Saludos. <br><br><o:p></o:p></span></p></blockquote><p class=MsoNormal><span style='color:black'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman",serif;color:black'><o:p> </o:p></span></p></div></body></html>