Es la forma más popular y simple de sustitución de elementos en una
sentencia SQL. El carácter amspersand (&) es el elegido para designar una
variable de sustitución en una sentencia y procede el nombre de la variable sin
espacios entre ellos. Cuando se ejecuta la sentencia, el Servidor Oracle
procesa la sentencia, verifica si hay variables de sustitución, e intenta
resolver las variables en dos formas. La primera verifica si la variable está definida en la sesión del
usuario. Si la variable no está definida, el proceso usuario solicita el valor
para esta. Una vez que un valor es enviado la sentencia completa su ejecución.
La sustitución amspersand es ejecutada en tiempo de ejecución y es conocida
como runtime binding o runtime substitution.
--
ESQUEMA HR
--
REGIONS LOCATIONS DEPARTMENTS COUNTRIES JOB_HISTORY EMPLOYEES JOBS
SELECT
region_id, region_name FROM regions WHERE region_id = ®ion_id;
SELECT
&col1, &col2 FROM regions WHERE region_id = ®ion_id;
SELECT
employee_id, first_name, last_name, phone_number FROM employees
WHERE employee_id = &employee_id OR first_name
= &first_name;
Podemos sustituir las clausulas mediante la sustitución amspersan.
SELECT
&columnas FROM &tabla WHERE &condicion ORDER BY &orden;
A las variables se les puede asignar un nombre alfanumérico que es un
nombre de identificador válido. Los valores ingresados para las sustituciones de
valores debe ir acorde al tipo de dato que este manejando sino el servidor Oracle
enviará un error. Cuando ingresamos valores carácter o fecha para las variables
de sustitución es necesario ingresar las comillas simples que encierren el
texto ingresado, para evitar esto podemos utilizar las comillas simples
encerrando entre comillas las variables de sustitución, con esta forma no
necesitará ingresar las comillas simples.
--
ESQUEMA HR
--
REGIONS LOCATIONS DEPARTMENTS COUNTRIES JOB_HISTORY EMPLOYEES JOBS
Solo recordar que cuando sustituimos variables en el contexto con
columnas carácter o fecha no olvidemos colocar comillas simples o incluir las
comillas en la sentencia encerrando la variable de sustitución entre comillas
simples.
--
ESQUEMA HR
--
REGIONS LOCATIONS DEPARTMENTS COUNTRIES JOB_HISTORY EMPLOYEES JOBS
SELECT
* FROM departments WHERE department_name LIKE &department_name;
SELECT
* FROM departments WHERE department_name LIKE '%&department_name%';
SELECT
®ION_ID, ®ION_NAME FROM regions;
SELECT
&COLUMNS FROM regions;
SELECT
region_id, region_name FROM &tabla ORDER BY &col_orden DESC;
SELECT
region_id, region_name FROM &tabla ORDER BY &col_orden;
Comentarios
Publicar un comentario