 Let's just say we add another parameter here. I just go to comma here and I put in here total. For some, let me just simple calculation and I'll set that to zero at default just in case. I don't want that to have any errors. Now, because here I didn't put anything here. If you want to return the max back or the total back, if I want to return that parameter back outside so I can use it, then over here I have to put the word out here. That means that that parameter total, it will do the calculation inside that procedure when it's done then it's accessible outside of the procedure. You can grab the data back from that total variable. In this case, the max won't be coming out but total does. Before curiosity, let's put 100 here. I'm going to just, that's all I'm doing. I'm going to alter that procedure, execute that. It's a little bit tricky here but I'll show you. This is marked to return if I want to. If you don't want to, that's okay too because as it is, there's nothing wrong with that. The trick is when you call it. When you call the function down here, and we'll make this a little bit simple here, I'm just going to call it in here. It's still right above here. If I call this function, I will do execute the sp person person. The first parameter is default is 10. If you want to use the second parameter, you have to put something there. You cannot just skip that number because it does not know. You'll put the, let's just say 10 just like it is. The second parameter is the total. If you want to get the total back, then this has to be a parameter. It has to be a variable name, not a number. If I put this, you cannot read it because it's a constant. Whatever this variable is, it's a reference to this total here. That means I have to go ahead and declare a variable name called maybe total here as well, and make that as a hint. Pass this total to this parameter as total, and also put the word out. It's coming out from that as well. You do this per parameter. If you have a third parameter, you want to also put that out, and you also put that out as well. If you don't, it's not coming out. That means this out here has to match this out in here. So that's the requirement. And then once that's done, then the total is accessible here, and then you can print that here so I can say print the total here. The thing is you have to run all these three at the same time because it only stays in the RAM. Once you exit that, it's not there anymore. Unless you write that total to a table, then that's permanent. Otherwise, it's only in RAM during execution time. So let's see if I get 100 back. If it's true, I should get 100 back from the total here, back to this total outside here. So execute that. As you can see, it runs the script just fine. Remember the print, it's in the message. So in the message, I have the total of... Okay, I didn't see it. Okay, what's going on? Unless... I don't think I have to return anything. Let's see here. It's going to test something here. If I leave that out, and if I go here and set... I'm just wondering if it doesn't take a default value or not. Set that to 100 here. Okay, so let me alter that and then see if that works. Yeah, so I guess you have to do something inside. I thought you could just grab the default value, but it didn't let me do it. I guess because when I put this total here, it's nothing. You can figure out it's nothing, and I'll pass to it then whatever it has here, I had it 100 earlier, it actually overwrites this with nothing and then therefore returns nothing. I think that was the reason why. So I could do total is equal to, I have to say, 100 times the max. So I get 1,000 back, for example. So you can do this calculation and the return of the total be 1,000 in this case. So again, let me just tell you to do this. You have to just alter every time. Okay, alter the procedure. So it stays in there. And then you can execute that and I should get 1,000 back and it resolves down here. Okay, so it's very, pretty easy. Okay. So you can see how you can use the procedure to do some very repetitive code actions. I'm just so very simple how you can select something here. If you have something that is in a routine all the time, then you put all your code in here to do that for you. You can select a statement here. You can join multiple tables and return something back. You can say return the last, the top 20 sales from the month of March. So you put that procedure in there or a function of whatever you do it and you will put that inside there and then you can pass, instead of March, you can pass the parameters or from something else, right? Okay, so we see how we can pass data to a variable this way. Again, you're not limited to just integer. You can pass in text. Okay, you can pass a table name if you want. So instead of saying person to person, I can select that from this table. Okay. You just replace this with that parameter.