I'm working with databases, specifically Oracle, and I'm wondering whats the difference in these variable declarations:

&variable_name; (substitution variable)
:variable_name; (bind variable)

For example in a query such as:

OPEN CURSOR (&my_var)
OPEN CURSOR (:my_var)