Yet Another Stupid Oracle Blog
Die Softwareentwickler mögen Schleife und Cursors über alles, und finden desshalb die unwahrscheinlichsten Rechtfertigungen um die globale DML query zu vermeiden. Unter denen gibt's die Handlung der Fehlerfällen : "Neee, die ganze Anfrage darf nicht Rollbacked...
Nouvelle année, nouvelles résolutions. La première : coder un échiquier pour jouer sous SQL*Plus. J'ai posté le script complet ici : http://pacmann.over-blog.com/pages/my-sql-plus-chessboard-8844899.html 1) Le modèle de données Le modèle de données est...
Hier c'étaient des replays de starcraft 2, une autre fois c'était Jack Bauer, ... Aujourd'hui au réveil, une soudaine envie de jouer avec des index. Un index, c'est une structure arborescente qui, à une clef, potentiellement composite, associe une adresse...
Comment est-ce qu'après une journée d'archéologie PL/SQLienne je me suis demandé pourquoi j'ai étudié une proc qui n'est jamais appelée ? 1) Création d'une proc inutile SQL> r ismagic 1 create or replace procedure ismagic 2 IS 3 BEGIN 4 --Etape n°31 5...
Quand on veut savoir pourquoi une procédure rame, on peut par exemple la tracer. "alter session set events 10046 trace name context forever, level 8" est en ce sens un outil efficace, car il permet de déterminer ce qui a fait attendre l'exécution. C'est...
Ne serait-ce que par esprit de contradiction, le premier avril est le parfait moment pour aborder le sujet le moins drôle de l'univers :voir les données avant modifications, et les comparer aux données présentes ! 0) Un jeu d'essai simple : SQL> CREATE...
Comment rassembler des intervalles qui se chevauchent ? Dans ma jeunesse, j'ai vu (et proposé) des solutions tirées par les cheveux. Et l'autre jour sur OTN, j'ai trouvé la méthode de FrankKulash particulièrement élégante. Petit article hommage pour lui...
J'avais lu, il y a très longtemps de cela, une astuce de l'oncle Tom pour indexer uniquement quelques valeurs très sélectives d'une colonne. Typiquement un flag ou statut de traitement. 1) FBI is watching you La vieille méthode avant 11G : CREATE TABLE...
Let's have a look at Laurent Schneider's funny query (that he had already posted on several blogs :)) select * from dual where lnnvl(1=0) and lnnvl(1=0) is null; D - X Does it mean that lnnvl(1=0) is both true and unknown ? Of course not. Actually, it...
L'autre jour, allez savoir pourquoi, je jouais avec des Index Organized Tables (IOT). Ces créatures ont cela de spécial qu'il n'y a pas de table à proprement parler, ou plutôt que l'index clef primaire contient toutes les données. Cette structure est...
L'un des moyens d'étudier l'exécution d'une requête SQL, c'est l'autotrace. L'autotrace s'appuie sur les statistiques mesurées sur la session, pour en sortir un différentiel des grandeurs en question avant / après exécution de la requête. set autot traceonly...
Connaître la répartition des valeurs, c'est la clef pour briller en société et réussir ses projets. Genre vous avez une ressource payante, et un résultat qui sera fonction croissante de la quantité de ressource que vous allouez. Ce qui vous intéresse,...
Un des grands problèmes dans ma vie, c'est ma passion pour le NATURAL FULL OUTER JOIN. Parce qu'il y a plein de mots, c'est full, le côté naturel, les joints et tout ça. Et cette lubie m'a encore piégée hier lorsque je faisais une simple comparaison de...
Pour faire suite à mon article précédent , je vais quand même lâcher une solution viable, spécifique à Oracle : SELECT ville_etp FROM t_entrepot WHERE rayon_ryn IN (SELECT rayon_ryn FROM t_rayon) GROUP BY ville_etp HAVING collect(DISTINCT rayon_ryn) =...
Il y a des fois, on agit avant de penser. Au moment même où je validais ma requête, j'attendais un "ORA-00918: column ambiguously defined". Mais ce n'est pas arrivé. 1) Les données de test Précision : on est en version 10.2.0.4.0 create table testeuh...
Dans la vie, il y a ceux qui sont géniaux, et ceux qui répètent connement ce que disent les gens géniaux. Je fais partie de la deuxième catégorie... Ayant passé mes 32 dernières années (j'ai commencé le SQL Oracle à la sortie de la maternité) à doubler...
A mes débuts dans Oracle, je lisais plein de conneries sur l'optimisation. Parmi les gros mythes, il y avait : "rebuild un index améliore le clustering factor". C'est bien entendu absurde : - Le clustering factor se calcule comme le nombre de changement...
- Moi : "Salut, ça te dérange si je crée des JOB sur la base de test ? Ca n'ira jamais en prod" - Mon DBA : "Bah pas de problème, je t'ai attribué le rôle DBA, fais toi plais'. Cela dit, si c'est pour des rapports XXXX, ils sont déjà déposés en automatique...
Last week, i was quite confused when i read on a forum that Oracle SQL does not support boolean type. Posted question looked like this : CREATE OR REPLACE FUNCTION test_bool(i number) RETURN boolean AS BEGIN return true; END; Function created. SELECT...
L'utilisateur : "Salut, je voudrais un filtre à sélection multiple sur les pays pour mon rapport XYZ... idéalement avec des cases à cocher" Notez que ce n'est pas un rapport XXX, on fait pas ça chez nous. Moi : "Désolé, notre framework est pourri, ça...
Ma grand-mère me disait toujours, "Pacman, n'oublie jamais le côté artistique du SQL, ni le côté obscur de la force". Et là, force est de constater que depuis un moment, je m'y crois trop : j'ai oublié les valeurs essentielles dans lesquelles mes ancêtres...
De retour sur Oracle après 3 ans dans le monde du pipo, je me refais un peu la main en participant au forum OTN. Et là, sur une question classique "comment vérifier qu'une chaîne de caractères est un nombre sous Oracle ?", je m'aperçois que les intervenants...
Dans l'exemple type des row generators (par exemple ici ), on utilise parfois une construction étrange qui est "CONNECT BY level <= N". C'est certes étrange et abusé, mais ça se conçoit : "connecte moi avec n'importe quoi et récursivement, mais pas plus...
The following article will be written in german. Why ? No reason at all, i just hope that there are german people who are interested in SQL queries... Na dann, los geht's. Das heutige Thema handelt ein rekurrenter Bedürfnis : Wie kann man Strings in einer...
Ouais, on revient aux choses sérieuses : EULER CHALLENGE N°3 ! http://projecteuler.net/index.php?section=problems The prime factors of 13195 are 5, 7, 13 and 29. What is the largest prime factor of the number 600851475143 ? DISCLAIMER : J'ai la flemme...