A portion of the take off and DoubleVal techniques pick one or two various other copies out-of num as DoubleVal eter
We’ll earliest work with SP_parse_integer while the main action goes around. Range , of data type of BIGINT. Whenever an entitled MySQL held techniques change the value of an enthusiastic INOUT factor, the fresh new getting in touch with MySQL recursive inquire kept techniques are able to see people changes. As a result, a keen INOUT parameter operates a lot like a c# Ref factor, a good ByRef factor, a-c++ resource parameter, an such like. Throughout these times, i admission parameter address one work because recommendations towards the factor thinking. The newest calling and you can titled steps, characteristics, kept steps, an such like. the comprehend the exact same really worth inside thoughts, and therefore, all of them select the changes that occurs to those beliefs. On the other hand, a respect parameter restricts the new visibility of their transform with the techniques otherwise setting where people transform takes place.
An element of the code cut-off announces adjustable num and you may kits they so you’re able to 5. In the main take off, step 1 phone calls the procedure DoubleVal, and entry dispute num, featuring its value of 5. Brand new DoubleVal processes gets the num worth as its very own local copy of brand spanking new num worthy of, found in the Fundamental block. From inside the DoubleVal , step two changes one local num value to help you ten, and control productivity returning to area of the cut-off. Part of the cut-off never sees one to transform, but this approach carry out prevent the SP_parse_integer MySQL recursive query from working. During the step three, it prints the value so it sees towards the num – in this situation, 5. This cut off shows the same code sample, except the latest DoubleVal processes eter:
So it block uses a good ByVal parameter to exhibit just how a respect parameter works:
3 outputs 10 while the both the Main stop together with DoubleVal processes operate to your exact same num worth within the memory. The new SP_parse_integer MySQL recursive query use this procedure. DoubleVal eter. That way, the Chief block and you can DoubleVal comprehend the same really worth within the recollections, at the same thoughts area. Because of this, if the DoubleVal procedure changed the value of num into the step 2, you to changes turned visible to part of the stop during the step three. Such information offer for other development languages and you may units, as well as MySQL. Having an excellent MySQL recursive query, an INOUT kept techniques parameter will get the same as an artwork Basic ByRef factor. The latest technologies behind the MySQL kept methods looked on this page utilizes INOUT parameters.
Observe that MySQL now offers When you look at the parameters, which work for instance the Graphic Earliest ByVal variables discussed over. MySQL also provides Out parameters. A called MySQL kept process that “receives” an away parameter are unable to see the very first, otherwise undertaking, the worth of an away factor the contacting stored procedure kits for this factor.
Now we can concentrate on the SP_parse_integer kept process just like the an excellent MySQL recursive inquire. Since viewed over, traces 5 so when INOUT details. The new param factor keeps the newest integer so you can parse, and you will parse_string_param tend to keep the build sequence the held process will make. Range ten declares a location BIGINT changeable SP_role, that’ll hold the private multiple-of-a couple of values your kept procedure parses out of the param value. So it MySQL recursive query efficiency NULL to own param opinions lower than step one or higher than 1999998, into the If-take off out-of lines twelve to help you 14. This new ELSEIF cut off of lines 16 so you can 19 gets the latest recursion feet case. Whenever param reaches no, new held procedure done deteriorating multiple-of-a couple of opinions from param in itself. Line 16 assessment for it, and when genuine, contours 18 and 19 get rid of the about comma and area (, ) from parse_string_param. Upcoming, it create a closing right parenthesis. Because of it stored processes, we shall overlook the boundary situation whether or not it productivity empty parentheses if i call-it which have a param property value no (0).