The newest MySQL recursive query stored procedure technology

The newest MySQL recursive query stored procedure technology

Part of the cut off and also the DoubleVal processes pick several additional duplicates off num given that DoubleVal eter

We’re going to first work at SP_parse_integer as the main step goes indeed there. Range , of data types of BIGINT. When a titled MySQL stored techniques changes the value of an INOUT parameter, the new calling MySQL recursive ask stored processes can see people transform. As a result, a keen INOUT parameter operates kind of like a-c# Ref parameter, good ByRef factor, a c++ reference factor, etcetera. Throughout these cases, i violation factor contact one to operate due to the fact information towards factor philosophy. New getting in touch with and entitled steps, attributes, stored actions, etc. most of the see the same value for the memory, hence, all of them find all the alter that happens to people philosophy. On the other hand, a respect parameter limits the new visibility of their transform towards the techniques or function where people changes happens.

A portion of the password cut-off announces adjustable num and kits they so you’re able to 5. In the primary stop, step 1 calls the procedure DoubleVal, and you can passes conflict num, with its worth of 5. The fresh new DoubleVal processes receives the num really worth as its own regional backup of the brand new num value, based in the Chief take off. From inside the DoubleVal, step 2 alter you to definitely regional num worthy of to 10, after which manage output back once again to area of the cut off. Area of the take off never ever notices you to change, but this approach create steer clear of the SP_parse_integer MySQL recursive inquire off operating. In the step 3, they images the value that it sees with the num – in this instance, 5. Which take off suggests a werkt bumble similar password take to, but the fresh DoubleVal process eter:

So it cut off spends a good ByVal factor to exhibit just how an admiration factor really works:

Step three outputs 10 just like the both Head stop and the DoubleVal procedure manage with the exact same num well worth from inside the thoughts. The brand new SP_parse_integer MySQL recursive query will use this procedure. DoubleVal eter. By doing this, the Head block and you can DoubleVal see the same really worth inside the memories, at the same memories location. This is why, if the DoubleVal techniques changed the worth of num when you look at the action dos, one alter turned visually noticeable to an element of the stop on step three. These types of records offer with other advancement dialects and you can equipment, also MySQL. To own a great MySQL recursive inquire, a keen INOUT kept processes parameter becomes the same as an artwork Earliest ByRef parameter. The latest engineering about the fresh MySQL kept steps appeared in this post hinges on INOUT variables.

Observe that MySQL offers In the variables, and this jobs for instance the Visual Basic ByVal parameters described more than. MySQL has the benefit of Aside parameters. An entitled MySQL held procedure that “receives” an away parameter can’t see the 1st, or doing, the value of an out factor the calling stored procedure sets for that parameter.

Now we can focus on the SP_parse_integer stored techniques given that a beneficial MySQL recursive query. Since seen over, traces 5 and as INOUT parameters. The new param parameter holds the new integer in order to parse, and you can parse_string_param commonly keep the built string that the stored processes tend to create. Range 10 announces a city BIGINT varying SP_parts, that will contain the personal several-of-a few values that held procedure parses out from the param really worth. That it MySQL recursive query output NULL to possess param thinking less than step one or greater than 1999998, towards In the event the-cut-off from lines several so you’re able to fourteen. The new ELSEIF cut off away from contours sixteen to 19 will get the brand new recursion legs situation. When param is located at no, brand new stored processes finished wearing down multiple-of-one or two philosophy out of param by itself. Range sixteen tests for this, of course, if real, contours 18 and you will 19 eliminate the trailing comma and you may place (, ) from parse_string_param. Then, they put a closing correct parenthesis. For it stored processes, we will ignore the line situation if this efficiency empty parentheses if we call it that have a beneficial param worth of zero (0).


No Comments

Post a Comment