Substitution variables are least important in SQL or P/SQL. This is because they have nothing to do with the way SQL is processed by the database server.
When a substitution variable is used in a statement, SQL*Plus requests an input value. The query is then rewritten, with the substitution variable replaced with the input value. The rewritten statement is passed to the database. As a result, the database server knows nothing of the substitution variable. The following example illustrates this by repeating the previous test, this time using substitution variables.