This week's book giveaway is in the General Computing forum. We're giving away four copies of Arduino in Action and have Martin Evans, Joshua Noble, and Jordan Hochenbaum on-line! See this thread for details.
Functions are supposed to be utility kind of code which return some value whereas procedures can have side effects i.e. it changes some value in the database. SP can have IN/OUT parameters which means that more than one return value is possible.