Carlos A. García

Es muy común en Oracle realizar las consultas fijando las constantes por las cuales buscamos. Es decir, si queremos obtener los municipios de Baleares, la consulta sería algo así:

select *

from municipios

where provincia = ‘BALEARES’;

Esta forma de trabajar es poco óptima, no es flexible y exige un gran esfuerzo de mantenimiento. El código PL/SQL debería ser lo suficientemente genérico como para poder realizar cualquier consulta sin necesidad de reescribirlo. Es en este punto donde aparecen las variables ligadas o “bind variables” en inglés. Gracias a ellas podemos escribir la consulta dejando pendiente la condición que será utilizada como filtro. La sintaxis de una variable ligada es muy sencilla: escribimos dos puntos (:) delante de la cadena de texto que nos servirá como variable. Por ejemplo:

select *

from municipios

where provincia = :prov;

En el código anterior, la cadena prov hace las veces de variable, siendo necesario especificarle un valor cuando se lance la consulta. Para ello utilizaremos la cláusula USING. La principal ventaja de utilizar variables ligadas es que, una vez ejecutada, la consulta permanece en memoria esperando que se le asignen nuevos valores. Así, será más rapido buscar los municipios de Madrid después de haber buscado los de Baleares. La consulta, convenientemente analizada, permanece en memoria, ahorrando el tiempo de ir a buscarla al disco duro y parsearla.

Aquí tenéis un ejemplo de como utilizar las variables ligadas de Oracle utilizando ODP .NET. En cualquier caso, os recomiento que visitéis la página del PSOUG. Por cierto, sólo recordar que las variables ligadas siempre son consideradas como cadenas de caracteres. Si queréis utilizarlas como fechas o como números, debéis realizar la conversión TO_DATE o TO_NUMBER



Carlos A. García

Leo hoy en “El País” la noticia de que Google ha llegado a un acuerdo para digitalizar la biblioteca de la Universidad Complutense de Madrid. La cifra es de aproximadamente un millón de libros … una auténtica barbaridad. La verdad es que, a parte de las repercusiones culturales, impresiona el volumen de los requerimientos informáticos del proyecto:
- Google tiene previsto digitalizar 3.000 libros cada día. Es decir, 2,08 libros por minuto
- Las máquinas utilizadas permiten la digitalización de 1.000 páginas por hora
- Si pensamos que 1.000.000 es aproximadamente 1Gyga, entonces llegamos a la conclusión de que, por cada Byte, tenemos 1GB de memoria. Por cada KiloByte que ocupen los libros, necesitarán 1TeraByte. O sea, una auténtica monstruosidad, si pensamos que al fin y al cabo estamos hablando de documentos de Megas

Pero lo que más me sorprende es como realizar búsquedas en los documentos. Es capaz de encontrar una palabra clave en miles de libros en cuestión de un par de segundos. Si Ptolomeo I Sóter levantara la cabeza y lo comparara con los 700.000 volúmenes que llegaron a componer la mítica biblioteca de Alejandría …



Javier Jofre
Curso MS Silverlight

A través de los cursos online gratuitos publicados por MSDN (y en castellano), veo que se han añadido un par de nuevos cursos interesantes y relativamente recientes. Entre ellos hay un curso de desarrollo con MS Silverlight que me ha parecido muy completo y quisiera recomendar a todos los que no conozcan esta tecnología de Microsoft.




Icono RSSMS Partner
FeedBurner