martes, 11 de agosto de 2009

Sentencias en Oracle con ampersand

Cuando se va a hacer un insert o update en SQL*Plus que contenga el símbolo ampersand (&), se pueden obtener resultados que no esperamos.
INSERT INTO empresa values('A & B')
SQL*Plus intentará resolver lo que haya después del ampersand como si se tratara de una variable.
Hay dos maneras para poder realizar correctamente el insert:

Opción 1:
SET DEFINE OFF
INSERT INTO empresa values('A & B')
Opción 2:
INSERT INTO empresa values('A &'||' B')
En la segunda opción cada ampersand que vayamos a insertar debe quedar al final de una cadena y luego concatenamos el resto de lo que queremos insertar.