Archives for: May 2010
Las famosas comillas, para escribir una comilla ….. ahorratelas!!
Quien alguna vez no lucho con las comillas dentro de Sql Dinámicos para poder mostrar una comilla
Algo complicado, engorroso y dificultoso.

Claro, era el típico caso de que dentro de una instrucción debiamos colocar como trescientas comillas para que apareciera una , que entretenido!!!
Por ejemplo si queríamos una consulta dinámica , que nos desplegará un where con una literal , debiamos escribir algo así
Ejemplo :
var_sql := 'update '|| var_tabla ||' set campo1 = '||'valor literal';
Oviamente la sentencia anterior nos arrojaría error , pues en la transformación de la sentencia el CBO la asumiría como
Siendo var_tabla = TAB_PAGOS y 'valor literal' = ADF4561;
SQL> r
1 declare
2 var_sql varchar2(1000);
3 var_tabla varchar2(1000) := 'TABLA1';
4 begin
5 var_sql := 'update '||var_tabla||' set campo1 = '||'ADFR5141';
6 dbms_output.put_line(var_sql);
7* end;update TABLA1 set campo1 = ADFR5141 –> Está sentenciada error si es ejecutada
PL/SQL procedure successfully completed.
SQL>
Por ende hay un error y se debiesen generar las comillas para su visualización
var_sql := 'update '|| var_tabla ||' set campo1 = '||''||'valor literal'||'';
SQL> r
1 declare
2 var_sql varchar2(1000);
3 var_tabla varchar2(1000) := 'TABLA1';
4 begin
5 var_sql := 'update '||var_tabla||' set campo1 = '||''||'ADFR5141'||''';
6 dbms_output.put_line(var_sql);
7* end;
update TABLA1 set campo1 = 'ADFR5141'; –> Funcionaría sin inconvenientes
Por lo que se ve es demasiado engorroso, ahora imaginanse coloca un formato de fecha dentro de ese enredo , con un to_char , ¿se enredaría mas cierto?
Pues bien, esto se soluciona en gran medida en Oracle10g, con una utilidad genial ,simplemente todo queda inscrito dentro de q'[…..]'
Inclusive, todo puede quedar inscrito dentro de cualquiera de estos símbolos
!
[ ]
{ }
( )
< >
O sea, nuestro pequeño update dinámico quedaría
var_sql := 'update '|| var_tabla ||' set campo1 = q'[ 'valor literal' ]';
Acaso no se ve más sencillo , mmmmm , claro que sí !!!!
![]()
![]()
17.05.10. 14:33:15. 329 words, 3340 views. Categories: Sql*Plus , Leave a comment » • Send a trackback »
Oracle 11g : Exámen 1z0-054 Performance Tuning
Hola...
Me encuentro preparando un nuevo exámen de certificación , el código es el siguiente
1z0-054 : Oracle 11g Performance Tuning
El cual forma parte de la malla de certificación de Oracle11g
El detalle del exámen..
Así que cuando finalice, les cuento el puntaje obtenido (ojalá me vaya bien)
![]()
![]()
10.05.10. 14:40:23. 54 words, 3284 views. Categories: Oracle 11g, Certificaciones , 1 comment » • Send a trackback »