jueves, 5 de agosto de 2010

Hago bien esta query y renuncio (?)

Los indómitos franceses me pedían algo inconmensurable para mis capacidades (?):

La donnée COD_BOX de la table NLOQT_TOP_BOX_D pour la donnée ID_BOX correspondante à la donnée ID_BOX de la table NLOQT_FLV_VEH_BOX_F pour la donnée ID_NOF de la table NLOQT_TRV_NOF_F retenus dans l'écran précédent

 

Attention, le véhicule n'est pas forcément dans un box ; donc la donnée à afficher peut avoir la valeur NULL.

Lo pude resolver (H):

String query = "SELECT tnof.id_nof, tbox.cod_box " +
  "from TR.NLOQT_TRV_NOF_F tnof " +
  "left join (DIM.NLOQT_TOP_BOX_D tbox inner join TR.NLOQT_FLV_VEH_BOX_F tflvbox ON tbox.id_box = tflvbox.id_box) " +
  "ON tnof.id_nof = tflvbox.id_nof " +
  "WHERE tnof.id_nof in ("+nofs+") order by tnof.id_nof ";



No contentos con eso (?), volvieron a la carga (?)

Compter sur la donnée ID_FIC_DEF de la table NLOQT_QUA_FIC_DEF_F dont

·         la donnée ID_STA_DEF correspond à la donnée ID_STA_DEF de la table NLOQT_QUA_STA_DEF_D pour la donnée COD_STA_DEF = 'DETECTE' ou 'ANALYSE'

. et la donnée ID_NOF correspond à la donnée ID_NOF de la table NLOQT_TRV_NOF_F retenus dans l'écran précédent

Et Voilá:

String query = "SELECT tnof.id_nof, COUNT(tqua.id_fic_def) " +
  "FROM TR.NLOQT_TRV_NOF_F tnof " +
  "LEFT JOIN " +
  "(TR.NLOQT_QUA_FIC_DEF_F tqua INNER JOIN DIM.NLOQT_QUA_STA_DEF_D tquasta " +
  "ON tqua.id_sta_def = tquasta.id_sta_def AND (tquasta.cod_sta_def='"+DETECTED+"' or tquasta.cod_sta_def='"+ANALYSE+"')) " +
  "ON tnof.id_nof = tqua.id_nof " +
  "WHERE tnof.id_nof IN ("+nofs+") " +
  "GROUP BY tnof.id_nof " +
  "ORDER BY tnof.id_nof";



Así que, con perdón de las damas...

qu'ils me la sucent

miércoles, 7 de julio de 2010

javascript:grayInfo();

Para terminar la semana y colorearte la vida (?), acá va una función javascript:

function grayInfo() {
var table = ui.getTable("contentTable");
var codFam = table.getKeyVal("codeFamille");
var grpSil = table.getKeyVal("groupeSilhouette");
var codSil = table.getKeyVal("codeSilhouette");
var cells = document.getElementById("contentTable").getElementsByTagName("td");

for (var i=0; i<cells.length; i++) {
if (cells[i].style.color == "gray") {
cells[i].removeAttribute("style");
cells[++i].removeAttribute("style");
cells[++i].removeAttribute("style");
}
if (cells[i].innerHTML==codFam && cells[i+1].innerHTML==grpSil &&
cells[i+2].innerHTML==codSil) {
cells[i].style.color = "gray";
cells[++i].style.color = "gray";
cells[++i].style.color = "gray";
}
}
}


Algún día editaré y explicaré que hace exactamente esta verga. Pero capaz mientras te sirve (?)

Update: la función tenía un bug (!) y ya fue arreglado

viernes, 25 de junio de 2010

BD Oracle: constraints, sequence, For en PL/SQL

Constraints
Como vemos las constraints de una tabla en una base de datos Oracle? Así:
SELECT * FROM USER_CONSTRAINTS WHERE TABLE_NAME = 'nombre_tabla'

También hay otras queries utiles por si esa no te sirve:
select * from user_cons_columns
select * from all_cons_columns
select * from all_constraints

Sequence value
Para obtener el valor de una secuencia se ejecuta lo siguiente:
SELECT nombre_de_la_secuencia.CURRVAL FROM dual

Puede que ese comando te tire un error 08002 que indica que la secuencia no está definida en la sesión. Esto se soluciona facilmente llamando al siguiente valor de la secuencia:
SELECT nombre_de_la_secuencia.NEXTVAL FROM dual

Y bueno, en un insert con id secuenciado se usa: nombre_de_la_sequencia.NEXTVAL

Bloque FOR en PL/SQL
BEGIN
-- use a FOR loop to process a series of numbers
  DBMS_OUTPUT.enable;
  FOR i in 2476..2486 LOOP
    update nloqt_veh_atr_fam_d set lib_grp_fam = (SELECT to_char(b.ID_ATR_FAM) from nloqt_veh_atr_fam_d b where b.id_atr_fam = to_char(i))  where id_atr_fam = to_char(i);
    DBMS_OUTPUT.PUT_LINE('Updatee el id: ' || TO_CHAR(i) || ', wiii (?)');
  END LOOP;
END;

lunes, 3 de mayo de 2010

El primer confirmado por Maradona


En el día de ayer, en pleno Independiente - Boca, un perro muy simpático y juguetón ingresó al campo de juego.
La hinchada de Independiente reconoció de inmediato al animal y lo apodó al grito de "Paleeeeermo, Paleeeermo".


Una masa el tierno can :D

martes, 2 de febrero de 2010


¡Eso sí que es vida!

jueves, 14 de enero de 2010

Tano capo (?)

Un siciliano de 35 años se apersonó en la comisaría el 31 de diciembre pidiendo ser arrestado porque prefería pasar la noche en cana antes que estar con su familia.

Al recibir un "no no bambino no" (?) de parte del agente de seguridad, hizo lo que cualquier hijo de vecino hubiera hecho (?):
Fue al negocio de al lado, amenazó al dueño con un cutter y tomó prestado (?) unos caramelos y un paquete de chicles. Entonces esperó a que llegaran los ratis y lo arrestaran.

De esta manera, empezó el año como él quería: feliz y contento.

- fuente -

viernes, 8 de enero de 2010

Pantera en Córdoba

El miércoles:

Una pantera fue liberada "en un acto de vandalismo" del zoológico de Córdoba y todavía no pudo ser encontrada por los 80 efectivos de grupos de élite de la policía provincial que salieron en su búsqueda.

Daniel Villarreal, directivo del Zoo, señaló que miembros de la Guardia de Infantería y del Eter buscaban al animal en el interior y en los alrededores del predio ubicado en el parque Sarmiento de la capital provincial. La pantera bautizada "Panty" tiene unos 8 años, pesa casi 70 kilos y es considerada "peligrosa".


Que genia, seguro la ayudaron a escapar para que pueda comprar las entradas de Metallica (!)
Porque ayer apareció de vuelta... justo después de que se agotaran las entradas :p


Can't you see I'm easily bothered by persistance?
One step from lashing out at you...

\m/