<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small">Hi,</div><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small">That's pretty easy, take this DO :</div><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small">
<div class="enlighter">DO<br><i>$PROC$<br>  DECLARE<br>    variable_1 text;<br>  BEGIN<br>    my function<br>  END<br>$</i><i>PROC</i><i>$</i><br>;</div>

</div><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small">You can transform this into a procedure like this :</div><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small"><b>CREATE PROCEDURE schema.function() AS</b><br><i>$</i><i>PROC</i><i>$<br>  DECLARE<br>    my_var text;<br>  BEGIN<br>    my function<br>  END<br>$</i><i>PROC</i><i>$</i><br><b>LANGUAGE PLPGSQL</b><br>;</div><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small">You can event add parameter into your procedure :</div><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small"><b>CREATE PROCEDURE schema.function(my_var text) AS</b><br><i>$</i><i>PROC</i><i>$<br>  DECLARE<br>    my_var2 text;<br>  BEGIN<br>    my function<br>  END<br>$</i><i>PROC</i><i>$</i><br><b>LANGUAGE PLPGSQL</b><br>;</div><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small">The advantage is that you can reuse this function just by calling the procedure, without rewriting the whole content.</div><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small">So if you use your DO only one time, keep the DO.</div><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small">If you expect to use it multiple times, then store it into a procedure.</div><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small">To finish : function = return a value, procedure = do something without returning anything but the two are very similar to write.<br></div><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small"><br clear="all"></div><div><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><span style="font-family:tahoma,sans-serif"><span class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small">Have a nice day</span></span></div></div></div></div></div><div><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><span style="font-family:tahoma,sans-serif"><br></span></div>A<span class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small">rthur Bazin<br></span><div dir="ltr"><span style="font-family:tahoma,sans-serif"><br></span></div><div dir="ltr"><span style="font-family:tahoma,sans-serif"><br></span></div><div dir="ltr"><span style="font-family:tahoma,sans-serif"><br></span></div></div></div></div></div></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le mar. 17 oct. 2023 à 17:53, Shaozhong SHI via postgis-users <<a href="mailto:postgis-users@lists.osgeo.org" target="_blank">postgis-users@lists.osgeo.org</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">How easily turn do statement scripts into stored procedures?  Much modification is needed?<div><br></div><div>What is the advantage to do so?</div><div><br></div><div>Regards,</div><div><br></div><div>David</div></div></div>
_______________________________________________<br>
postgis-users mailing list<br>
<a href="mailto:postgis-users@lists.osgeo.org" target="_blank">postgis-users@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/postgis-users" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/postgis-users</a><br>
</blockquote></div>
</div>