Sentencia sql

Estoy intentando hacer un INSERT en una tabla y necesito meter un texto que contiene el carácter ' en un campo de tipo varchar2. La expresión es:
INSERT INTO BOTONES (CODIGO,DESCRIPCION,IDIOMA) VALUES ('CON.PCONBDRS','BDR'S','PR')
Por supuesto da error. La cuestión es que este texto lo alimento desde una variable y lo que no quiero es hacer una rutina para buscar el carácter ' dentro de la cadena y sustituirlo.
¿Existe alguna manera de hacer esto directamente desde la sentencia sql?
Muchas gracias.

1 respuesta

Respuesta
No te hace falta una rutina para cambiar la comilla, puedes usar la función REPLACE .
Suerte.
No me sirve, te explico.
Estoy haciendo lo siguiente:
sprintf(comando,"INSERT INTO BOTONES (CODIGO,DESCRIPCION,IDIOMA) VALUES ('%20.20s','%30.30s','%2.2s')",
buffer.codigo,buffer.descripcion,buffer.idioma);
Y luego llamo una función donde ejecuto el comando oracle.
Elvalor no lo escribo directamente, sino que viene de una variable.
Un saludo
Bien, creo que estas usando C, ¿verdad?, lo que tienes que hacer es cuando le des valor a la variable 30s es poner la comilla como si fuese cualquier otro carácter.. otra cosa es que no le des tu ese valor, con lo cual no te quedará más remedio que sustituir la comilla simple por una comilla doble con una función de reemplazo.
Suerte.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas