{"id":360,"date":"2019-03-25T17:30:28","date_gmt":"2019-03-25T20:30:28","guid":{"rendered":"http:\/\/xexeu.elipse.com.br\/pt\/stored-procedures\/"},"modified":"2019-07-05T16:38:30","modified_gmt":"2019-07-05T19:38:30","slug":"stored-procedures","status":"publish","type":"post","link":"https:\/\/kb.elipse.com.br\/en\/stored-procedures\/","title":{"rendered":"Stored Procedures."},"content":{"rendered":"<div align=\"justify\">\n<p><b>1) Introduction<\/b><\/p>\n<p>Although E3 already has objects like queries that simplify manipulation of database records, we can improve its performance creating subroutines directly on the database using T-SQL language, and those subroutines perform tasks on the server in an effective way and high performance.<\/p>\n<p><b>2) Queries in E3<\/b><\/p>\n<p>By default, we use E3 queries to access records on a database table, which is a simple and practical object to be used, and there are cases where we use ADO connections via script; however, it is not necessary to use this method in E3 when we are dealing with databases such as SQL Server, Access or ORACLE.<\/p>\n<p>The E3 query works the following way:<\/p>\n<p>You point to one (or more) table(s), from which you select some (or all) fields and the query will perform a SELECT on the table and return the results. You can use SQL commands like DELETE, INSERT and UPDATE by editing the SQL tab of the query or even using SQL functions and applying filters with the WHERE clause.<\/p>\n<p>When network traffic is not a problem, using queries is the best option and the most recommended one.<\/p>\n<p><b>3) Using stored procedures<\/b><\/p>\n<p>A Stored Procedure is a set of commands to which you give a name. This set is stored on the database (Server) and might be called at any time by the database management system (DBMS) or by an E3 application.<\/p>\n<p>You can use Stored Procedures when the network information traffic is huge or the application has lower performance because processing is mostly due to data manipulation between the application and the database.<\/p>\n<p>When you create a Stored Procedure, you can pass input and output parameters to it, which will contain information required by a SELECT, for instance. These input parameters are passed the same way you pass variables to a query filter.<\/p>\n<p>Since Stored Procedures are analysed and stored on data server memory after first run, its execution is faster than using SQL instructions, because these ones are analysed each time.<\/p>\n<p>They also offer a benefit relative to the amount of data that must be sent to and from SQL Server, sometimes being necessary a few bytes to call a stored procedure containing thousands of bytes per instructions. The effect of this savings is significantly noticed when multiple users are executing repetitive tasks.<\/p>\n<p><b>4) Application (Database)<\/b><\/p>\n<p>An example application was created to illustrate how to use Stored Procedures to insert, read and delete records on a database.<\/p>\n<p>Basically the application allows data maintenance on the <b>Engine <\/b>table, where the user has permission to insert, delete and check engine data on his plant. We will use SQL Server 2005 Express to create the table and the Stored Procedures.<\/p>\n<p>Initially we should start SQL Server and connect to the local server with a user and password created when installing SQL Server on the local machine.<\/p>\n<div align=\"center\"><img loading=\"lazy\" title=\"\" src=\"http:\/\/kb.elipse.com.br\/pt-br\/images\/ID96\/Figure1.PNG\" alt=\"\" width=\"419\" height=\"311\" align=\"Baseline\" border=\"0\" \/><br \/>\n<span style=\"font-size: xx-small;\"><b>Figure 1<\/b>: SQL Server connection<\/span><\/div>\n<p>With SQL Server open, we will create a new database named <b>Devices <\/b>and an <b>Engine <\/b>table inside it. This table will contain the columns <b>Manufacturer<\/b>, <b>Area<\/b>, <b>Machine<\/b>, <b>Power<\/b>, <b>Current<\/b>, and <b>Tension<\/b>. The fields will be of type nchar(10), nchar(10), nchar(10), float, float and float, respectively, as in the following figure:<\/p>\n<div align=\"center\"><img loading=\"lazy\" title=\"\" src=\"http:\/\/kb.elipse.com.br\/pt-br\/images\/ID96\/Figure2.PNG\" alt=\"\" width=\"550\" height=\"154\" align=\"Baseline\" border=\"0\" \/><br \/>\n<span style=\"font-size: xx-small;\"><b>Figure 2<\/b>: Creating Engines table<br \/>\n<\/span><\/div>\n<p>Inside the <b>Devices <\/b>database we will access the <b>Programmability <\/b>folder. Right-clicking on <b>Stored Procedures<\/b> folder, select <b>New Stored Procedure&#8230;<\/b> option.<\/p>\n<div align=\"center\"><img loading=\"lazy\" title=\"\" src=\"http:\/\/kb.elipse.com.br\/pt-br\/images\/ID96\/Figure3.PNG\" alt=\"\" width=\"550\" height=\"262\" align=\"Baseline\" border=\"0\" \/><br \/>\n<span style=\"font-size: xx-small;\"><b>Figure 3<\/b>: Creating the Stored Procedure<br \/>\n<\/span><\/div>\n<p>On the right side of the window there will be an editing area where we will create Stored Procedures and we will erase the whole source code that is inserted by default.<\/p>\n<p>Then insert the following source code:<br \/>\n<span style=\"font-family: Courier New;\"><br \/>\n<\/span><\/p>\n<div align=\"left\"><span style=\"font-family: Courier New;\"><span style=\"color: #0000ff;\">CREATE PROCEDURE<\/span> procInsertEngine<\/span><br \/>\n<span style=\"font-family: Courier New;\">@MManufacturer <span style=\"color: #0000ff;\">nchar<\/span>(10),<\/span><br \/>\n<span style=\"font-family: Courier New;\">@MPower <span style=\"color: #0000ff;\">float<\/span>,<\/span><br \/>\n<span style=\"font-family: Courier New;\">@MCurrent <span style=\"color: #0000ff;\">float<\/span>,<\/span><br \/>\n<span style=\"font-family: Courier New;\">@MTension <span style=\"color: #0000ff;\">float<\/span>,<\/span><br \/>\n<span style=\"font-family: Courier New;\">@MArea <span style=\"color: #0000ff;\">nchar<\/span>(10),<\/span><br \/>\n<span style=\"font-family: Courier New;\">@MMachine <span style=\"color: #0000ff;\">nchar<\/span>(10)<\/span><br \/>\n<span style=\"color: #0000ff; font-family: Courier New;\">as<\/span><span style=\"color: #0000ff;\"><br \/>\n<\/span><span style=\"font-family: Courier New;\"><span style=\"color: #0000ff;\">INSERT INTO<\/span> Engines<\/span><br \/>\n<span style=\"font-family: Courier New;\">(Manufacturer,Power,Current,Tension,Area,Machine)<\/span><br \/>\n<span style=\"color: #0000ff; font-family: Courier New;\">VALUES<\/span><br \/>\n<span style=\"font-family: Courier New;\">(@MManufacturer,@MPower,@MCurrrent,@MTension,@MArea,@MMachine)<\/span><\/div>\n<p>With this source code we will create a Procedure that is going to insert engine data with the CREATE PROCEDURE command, that has a name as a parameter which will be called <b>procInsertEngine<\/b>.<\/p>\n<p>Next, we will declare input variables that will receive values sent by the Elipse application. These input variables must start with an @ symbol followed by its data type. After defining the SQL instruction to be executed, an insertion in this case, we use the INSERT INTO command followed by the name of the table, then the column names and after the VALUES command we write down the variables, on the specified order. At the end, click on [Parse] button next to the [Execute!] button.<\/p>\n<div align=\"center\"><img loading=\"lazy\" title=\"\" src=\"http:\/\/kb.elipse.com.br\/pt-br\/images\/ID96\/Figure4.PNG\" alt=\"\" width=\"550\" height=\"288\" align=\"Baseline\" border=\"0\" \/><br \/>\n<span style=\"font-size: xx-small;\"><b>Figure 4:<\/b> procInsertEngine Stored Procedure code<\/span><\/div>\n<p>Now we create a new Procedure the same way as the previous one; this one, however, will select data from <b>Engines <\/b>table using a filter by manufacturer, as in the next figure:<\/p>\n<div align=\"center\"><img loading=\"lazy\" title=\"\" src=\"http:\/\/kb.elipse.com.br\/pt-br\/images\/ID96\/Figure5.PNG\" alt=\"\" width=\"550\" height=\"260\" align=\"Baseline\" border=\"0\" \/><br \/>\n<span style=\"font-size: xx-small;\"><b>Figure 5<\/b>: procSelectEngine Stored Procedure code<\/span><\/div>\n<p>Now we are going to create a Procedure that will delete data on the Engines table, like the next figure:<\/p>\n<div align=\"center\"><img loading=\"lazy\" title=\"\" src=\"http:\/\/kb.elipse.com.br\/pt-br\/images\/ID96\/Figure6.PNG\" alt=\"\" width=\"550\" height=\"216\" align=\"Baseline\" border=\"0\" \/><br \/>\n<span style=\"font-size: xx-small;\"><b>Figure 6:<\/b> procDeleteEngine Stored Procedure code<\/span><\/div>\n<p><b>5) Application (E3)<\/b><\/p>\n<p>Now that we have created and configured the Stored Procedures on the database, we must understand how to call them on E3.<\/p>\n<p>Create a new project (Standard application) and insert a Database object, setting it to access <b>Devices <\/b>database, where we configured those Stored Procedures and where there is the <b>Engines <\/b>table.<\/p>\n<div align=\"center\"><img loading=\"lazy\" title=\"\" src=\"http:\/\/kb.elipse.com.br\/pt-br\/images\/ID96\/Figure7.PNG\" alt=\"\" width=\"403\" height=\"445\" align=\"Baseline\" border=\"0\" \/><br \/>\n<span style=\"font-size: xx-small;\"><b>Figure 7<\/b>: Database connection<\/span><\/div>\n<p>Insert three queries on the application and name them as <b>QueryInsert<\/b>, <b>QueryDelete <\/b>and <b>QuerySelect<\/b>, where the <b>Insert <\/b>and <b>Delete <\/b>queries will remain on the data folder (server) and the <b>Select <\/b>query will remain on the <b>Initial <\/b>screen.<\/p>\n<div align=\"center\"><img loading=\"lazy\" title=\"\" src=\"http:\/\/kb.elipse.com.br\/pt-br\/images\/ID96\/Figure8.PNG\" alt=\"\" width=\"202\" height=\"255\" align=\"Baseline\" border=\"0\" \/><br \/>\n<span style=\"font-size: xx-small;\"><b>Figure 8<\/b>: Including queries on the project<\/span><\/div>\n<p>Let&#8217;s start by the <b>Select <\/b>query: right-click on it and select <b>Configure&#8230; <\/b>option.<\/p>\n<p>Go to <b>SQL <\/b>tab and enable direct editing of SQL code by typing the following line of code:<\/p>\n<div align=\"left\"><span style=\"font-family: Courier New;\">Exec procSelectEngine &#8216;<%Man%>&#8216; <\/span><\/div>\n<p>&nbsp;<\/p>\n<div align=\"center\"><img loading=\"lazy\" title=\"\" src=\"http:\/\/kb.elipse.com.br\/pt-br\/images\/ID96\/Figure9.PNG\" alt=\"\" width=\"529\" height=\"397\" align=\"Baseline\" border=\"0\" \/><br \/>\n<span style=\"font-size: xx-small;\"><b>Figure 9<\/b>: Including SQL code<\/span><\/div>\n<p>This SQL command will launch (via Exec call) a procedure (name of the Procedure) by passing a variable as an input parameter (<span style=\"font-family: Courier New;\">&#8216;<%Man%>&#8216;<\/span>).<\/p>\n<p>Repeat the preceding steps for <b>Insert <\/b>and <b>Delete <\/b>queries, changing only the SQL command. For QueryInsert use the command:<\/p>\n<div align=\"left\"><span style=\"font-family: Courier New;\">Exec procInsertEngine &#8216;<%Man%>&#8216;,<%Pow%>,<%Cur%>,<%Ten%>,&#8217;<%Ar%>&#8216;,&#8217;<%Eng%>&#8216;<\/span><\/div>\n<p>For the QueryDelete:<\/p>\n<p><span style=\"font-family: Courier New;\">Exec procDeleteEngine &#8216;<%Man%>&#8216;,&#8217;<%Area%>&#8216;,&#8217;<%Eng%>&#8216; <\/span><\/p>\n<p><b>NOTE<\/b>: For in-server queries, change <i>CursorLocation <\/i>property to <b>1 &#8211; clClient<\/b>.<\/p>\n<p>After configuring queries, let&#8217;s create an interface on the screen where the user can see the devices already registered, insert new devices and also delete them.<\/p>\n<div align=\"center\"><img loading=\"lazy\" title=\"\" src=\"http:\/\/kb.elipse.com.br\/pt-br\/images\/ID96\/Figure10.PNG\" alt=\"\" width=\"550\" height=\"297\" align=\"Baseline\" border=\"0\" \/><br \/>\n<span style=\"font-size: xx-small;\"><b>Figure 10<\/b>: Application interface<\/span><\/div>\n<p>Insert an E3Browser and configure it to use <b>QuerySelect<\/b>.<\/p>\n<div align=\"center\"><img loading=\"lazy\" title=\"\" src=\"http:\/\/kb.elipse.com.br\/pt-br\/images\/ID96\/Figure11.PNG\" alt=\"\" width=\"465\" height=\"528\" align=\"Baseline\" border=\"0\" \/><br \/>\n<span style=\"font-size: xx-small;\"><b>Figure 11<\/b>: E3Browser configuration<\/span><\/div>\n<p>Insert a Setpoint on the screen and a button to fetch data, create a script on the <i>Click()<\/i> event of the button and type the following script:<\/p>\n<div align=\"center\"><img loading=\"lazy\" title=\"\" src=\"http:\/\/kb.elipse.com.br\/pt-br\/images\/ID96\/Figure12.PNG\" alt=\"\" width=\"470\" height=\"198\" align=\"Baseline\" border=\"0\" \/><br \/>\n<span style=\"font-size: xx-small;\"><b>Figure 12<\/b>: Command button script<br \/>\n<\/span><\/div>\n<p>Now create a button to insert new data; this button will open a second screen where the user will type the engine data and confirm them, inserting that data on <b>Devices <\/b>table.<\/p>\n<div align=\"center\"><img loading=\"lazy\" title=\"\" src=\"http:\/\/kb.elipse.com.br\/pt-br\/images\/ID96\/Figure13.PNG\" alt=\"\" width=\"257\" height=\"342\" align=\"Baseline\" border=\"0\" \/><br \/>\n<span style=\"font-size: xx-small;\"><b>Figure 13<\/b>: Screen to include engines<\/span><\/div>\n<p>Once done with the screen, create a script on [OK] button that will execute <b>QueryInsert<\/b>:<\/p>\n<div align=\"center\"><img loading=\"lazy\" title=\"\" src=\"http:\/\/kb.elipse.com.br\/pt-br\/images\/ID96\/Figure14.PNG\" alt=\"\" width=\"550\" height=\"366\" align=\"Baseline\" border=\"0\" \/><br \/>\n<span style=\"font-size: xx-small;\"><b>Figure 14<\/b>: Code to include an engine<\/span><\/div>\n<p>Finally, we will create a button on the initial screen to delete records from Engines table; we will use the following script on <i>Click() <\/i>event of the [Delete] button:<\/p>\n<div align=\"center\"><img loading=\"lazy\" title=\"\" src=\"http:\/\/kb.elipse.com.br\/pt-br\/images\/ID96\/Figure15.PNG\" alt=\"\" width=\"550\" height=\"300\" align=\"Baseline\" border=\"0\" \/><br \/>\n<span style=\"font-size: xx-small;\"><b>Figure 15<\/b>: Code to exclude an engine<br \/>\n<\/span><\/div>\n<p><b>6) Conclusion<\/b><\/p>\n<p>The task of manipulating data on a database becomes really effective, because the code is centralized, just like in libraries, and when executed it is enhanced by SQL itself, what improves application performance.<\/p>\n<h3>Attachments:<\/h3>\n<p><a href=\"\/wp-content\/uploads\/2019\/03\/SampleApplication.zip\">SampleApplication.zip<\/a><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Although E3 already has objects like queries that simplify manipulation of database records, we can improve its performance creating subroutines&#8230;<br \/>\nAutor<br \/>\nRenato Souza<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0},"categories":[735],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Stored Procedures. - Elipse Knowledgebase<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kb.elipse.com.br\/en\/stored-procedures\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Stored Procedures.\" \/>\n<meta property=\"og:description\" content=\"Although E3 already has objects like queries that simplify manipulation of database records, we can improve its performance creating subroutines... Autor Renato Souza\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kb.elipse.com.br\/en\/stored-procedures\/\" \/>\n<meta property=\"og:site_name\" content=\"Elipse Knowledgebase\" \/>\n<meta property=\"article:publisher\" content=\"http:\/\/www.facebook.com\/elipsesoftware\" \/>\n<meta property=\"article:published_time\" content=\"2019-03-25T20:30:28+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-07-05T19:38:30+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/kb.elipse.com.br\/pt-br\/images\/ID96\/Figure1.PNG\" \/>\n<meta name=\"author\" content=\"Elipse Software\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Elipse Software\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kb.elipse.com.br\/en\/stored-procedures\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kb.elipse.com.br\/en\/stored-procedures\/\"},\"author\":{\"name\":\"Elipse Software\",\"@id\":\"https:\/\/kb.elipse.com.br\/#\/schema\/person\/def69ea453ea60b250497b89225a9f87\"},\"headline\":\"Stored Procedures.\",\"datePublished\":\"2019-03-25T20:30:28+00:00\",\"dateModified\":\"2019-07-05T19:38:30+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kb.elipse.com.br\/en\/stored-procedures\/\"},\"wordCount\":1263,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kb.elipse.com.br\/#organization\"},\"articleSection\":[\"DataBases\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kb.elipse.com.br\/en\/stored-procedures\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kb.elipse.com.br\/en\/stored-procedures\/\",\"url\":\"https:\/\/kb.elipse.com.br\/en\/stored-procedures\/\",\"name\":\"[:pt]Stored Procedures.[:] - Elipse Knowledgebase\",\"isPartOf\":{\"@id\":\"https:\/\/kb.elipse.com.br\/#website\"},\"datePublished\":\"2019-03-25T20:30:28+00:00\",\"dateModified\":\"2019-07-05T19:38:30+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/kb.elipse.com.br\/en\/stored-procedures\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kb.elipse.com.br\/en\/stored-procedures\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kb.elipse.com.br\/en\/stored-procedures\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\/\/kb.elipse.com.br\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Stored Procedures.\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kb.elipse.com.br\/#website\",\"url\":\"https:\/\/kb.elipse.com.br\/\",\"name\":\"Elipse Knowledgebase\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/kb.elipse.com.br\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kb.elipse.com.br\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kb.elipse.com.br\/#organization\",\"name\":\"Elipse Software\",\"url\":\"https:\/\/kb.elipse.com.br\/\",\"sameAs\":[\"http:\/\/www.facebook.com\/elipsesoftware\"],\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/kb.elipse.com.br\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kb.elipse.com.br\/wp-content\/uploads\/2019\/05\/schererelipse-com-br\/logoElipse.png\",\"contentUrl\":\"https:\/\/kb.elipse.com.br\/wp-content\/uploads\/2019\/05\/schererelipse-com-br\/logoElipse.png\",\"width\":161,\"height\":58,\"caption\":\"Elipse Software\"},\"image\":{\"@id\":\"https:\/\/kb.elipse.com.br\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/kb.elipse.com.br\/#\/schema\/person\/def69ea453ea60b250497b89225a9f87\",\"name\":\"Elipse Software\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/kb.elipse.com.br\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ff1f7ec38f4687b06f6851d97b3cd2d0?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ff1f7ec38f4687b06f6851d97b3cd2d0?s=96&d=mm&r=g\",\"caption\":\"Elipse Software\"},\"url\":\"https:\/\/kb.elipse.com.br\/en\/author\/webmasterelipse-com-br\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Stored Procedures. - Elipse Knowledgebase","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kb.elipse.com.br\/en\/stored-procedures\/","og_locale":"en_US","og_type":"article","og_title":"[:pt]Stored Procedures.[:] - Elipse Knowledgebase","og_description":"[:pt]Although E3 already has objects like queries that simplify manipulation of database records, we can improve its performance creating subroutines... Autor Renato Souza[:]","og_url":"https:\/\/kb.elipse.com.br\/en\/stored-procedures\/","og_site_name":"Elipse Knowledgebase","article_publisher":"http:\/\/www.facebook.com\/elipsesoftware","article_published_time":"2019-03-25T20:30:28+00:00","article_modified_time":"2019-07-05T19:38:30+00:00","og_image":[{"url":"http:\/\/kb.elipse.com.br\/pt-br\/images\/ID96\/Figure1.PNG"}],"author":"Elipse Software","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Elipse Software","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kb.elipse.com.br\/en\/stored-procedures\/#article","isPartOf":{"@id":"https:\/\/kb.elipse.com.br\/en\/stored-procedures\/"},"author":{"name":"Elipse Software","@id":"https:\/\/kb.elipse.com.br\/#\/schema\/person\/def69ea453ea60b250497b89225a9f87"},"headline":"Stored Procedures.","datePublished":"2019-03-25T20:30:28+00:00","dateModified":"2019-07-05T19:38:30+00:00","mainEntityOfPage":{"@id":"https:\/\/kb.elipse.com.br\/en\/stored-procedures\/"},"wordCount":1263,"commentCount":0,"publisher":{"@id":"https:\/\/kb.elipse.com.br\/#organization"},"articleSection":["DataBases"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kb.elipse.com.br\/en\/stored-procedures\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kb.elipse.com.br\/en\/stored-procedures\/","url":"https:\/\/kb.elipse.com.br\/en\/stored-procedures\/","name":"[:pt]Stored Procedures.[:] - Elipse Knowledgebase","isPartOf":{"@id":"https:\/\/kb.elipse.com.br\/#website"},"datePublished":"2019-03-25T20:30:28+00:00","dateModified":"2019-07-05T19:38:30+00:00","breadcrumb":{"@id":"https:\/\/kb.elipse.com.br\/en\/stored-procedures\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kb.elipse.com.br\/en\/stored-procedures\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kb.elipse.com.br\/en\/stored-procedures\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/kb.elipse.com.br\/en\/"},{"@type":"ListItem","position":2,"name":"Stored Procedures."}]},{"@type":"WebSite","@id":"https:\/\/kb.elipse.com.br\/#website","url":"https:\/\/kb.elipse.com.br\/","name":"Elipse Knowledgebase","description":"","publisher":{"@id":"https:\/\/kb.elipse.com.br\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kb.elipse.com.br\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/kb.elipse.com.br\/#organization","name":"Elipse Software","url":"https:\/\/kb.elipse.com.br\/","sameAs":["http:\/\/www.facebook.com\/elipsesoftware"],"logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/kb.elipse.com.br\/#\/schema\/logo\/image\/","url":"https:\/\/kb.elipse.com.br\/wp-content\/uploads\/2019\/05\/schererelipse-com-br\/logoElipse.png","contentUrl":"https:\/\/kb.elipse.com.br\/wp-content\/uploads\/2019\/05\/schererelipse-com-br\/logoElipse.png","width":161,"height":58,"caption":"Elipse Software"},"image":{"@id":"https:\/\/kb.elipse.com.br\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/kb.elipse.com.br\/#\/schema\/person\/def69ea453ea60b250497b89225a9f87","name":"Elipse Software","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/kb.elipse.com.br\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ff1f7ec38f4687b06f6851d97b3cd2d0?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ff1f7ec38f4687b06f6851d97b3cd2d0?s=96&d=mm&r=g","caption":"Elipse Software"},"url":"https:\/\/kb.elipse.com.br\/en\/author\/webmasterelipse-com-br\/"}]}},"_links":{"self":[{"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/posts\/360"}],"collection":[{"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/comments?post=360"}],"version-history":[{"count":4,"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/posts\/360\/revisions"}],"predecessor-version":[{"id":7618,"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/posts\/360\/revisions\/7618"}],"wp:attachment":[{"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/media?parent=360"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/categories?post=360"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/tags?post=360"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}