Posts

partition exchange - Tabelle aus Range-Partition in Range-List-Partition umbauen

Nachdem bereits Range-Partitionen in einer Tabelle existieren, sollen zusätzliche Daten in Subpartitionen strukturiert werden: Mögliches Vorgehen unter 10gR2 unter der Voraussetzung, dass die bestehenden Daten später in genau einer Subpartition landen werden: unpartitionierte Temp-Tabelle erstellen bestehende Partition der Quelltabelle in Temp-Tabelle überführen (per exchange) Quelltabelle in neuer Struktur (mit Subpartitionen) neu erstellen Temp-Tabelle (per exchange) als Subpartition in neu erstellte Tabelle einfügen Da alles über Tabellenmetadaten läuft und somit keine Daten kopiert bzw. physikalisch verschoben, sollte die Datenmenge keine Rolle spielen. Beispiel: -- Ausgangstabelle erstellen DROP TABLE fs_ptest; CREATE TABLE fs_ptest ( quartal NUMBER (5), fallstatus varchar2(3), bsnr VARCHAR2 (9), lanr VARCHAR2 (9) ) PARTITION BY RANGE (quartal) (PARTITION pmaxval VALUES LESS THAN (maxvalue) ...

Prüfen von Werten, isnumber

Immer mal wieder kommt das Thema: Ist der Wert eine Zahl oder nicht? Bis Oracle 10g am besten per Translate: translate(spalte,'a0123456789', 'a') gegen null prüfen Anm: Das 'a' ist wichtig! - Translate braucht min. 1 Buchstaben, den es ersetzen soll - Im Bsp wird a durch a ersetzt, 0 durch nix, 1 durch nix, ... 9 durch nix -> Ergebnis: wenn der Rückgabewert null ist, waren nur Ziffern enthalten. Übersichtlicher wird's ab 10g per regular Expressions: REGEXP_LIKE (wert,'^[[:digit:]]{3}$') - Prüft, ob genau 3 Ziffern enthalten sind. Weitere Möglichkeiten und Erläuterungen u.a.: http://www.oracle.com/global/de/community/tipps/regexp/index.html und http://sql-plsql-de.blogspot.com/2009/02/regulare-ausdrucke-in-der-datenbank.html bzw. in der Doku: http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14200/conditions007.htm#i1048942

neue Version Oracle SQL Developer Data Modeler

gerade gefunden: auf der Oracle-Seite gibt es eine aktualisierte Version des Datamodelers (Version 2.0.0-570 vom 01.Juli) http://www.oracle.com/technology/products/database/datamodeler/index.html bzw. direkt zum Download: http://www.oracle.com/technology/software/products/sql/datamodeler.html

rang im SQL

Bisweilen sehr nützlich ist ein Ranking der Ergebniszeilen: Bsp: select quartal, pg_id, vgl_key, row_number() over (partition by pg_id order by pg_id) pg_rang, row_number() over (partition by vgl_key order by vgl_key) vg_rang from (select distinct quartal, pg_id, vgl_key from REP_PG_RTM where QUARTAL = 20091); Die innere Abfrage liefert alle Kombinationen von PG und VG. Dabei können natürlich einzelne PG (bzw. VG) mehrfach vorkommen: 102 - 128 102 - 129 104 - 129 Sollen PG- und VG-Summen (Bsp. Fälle) zugeordnet werden, werden diese für jede Zeile zugeordnet: 1.427 Fälle - 102 -- 128 - 1.627 Fälle 1.427 Fälle - 102 -- 129 - 1.514 Fälle 1.312 Fälle - 104 -- 129 - 1.514 Fälle Für Prüfsummen über die zugeordneten Fälle ist das ungünstig, dann darf die Fallzahl nur EINMAL gelistet werden: 1.427 Fälle - 102 -- 128 - 1.627 Fälle - 102 -- 129 - 1.514 Fälle 1.312 Fälle - 104 -- 129 - Hier hilft das Rang: Durch das Ranking wird das Vorkommen der Zeilen gezählt und...

Firefox Add-Ins

Eine Liste meiner Firefox-Plug-Ins: noscript - zusätzlicher Browserschutz Firefox Sync - Synchronisation von Bookmarks, Historie, Browsereinstellungen etc. simpletranslate - Übersetzung (leo.org) bzw. Erklärung (Wikipedia) per Kontextmenü Ghostery - informiert über web bugs FireBug DownloadHelper QuickProxy - schnelles Ein- und Ausschalten des BrowserProxy weitere können folgen ;-) folgende Add-ons werden nicht mehr verwendet: IE Tab - ruft Seiten per IE Rendering auf (unsicher!) ReadItLater - Bookmarking von Seiten (Achtung: Bookmarks werden online gespeichert, stehen dafür aber auch in allen Browsern zur Verfügung. Vorteil: Bookmarks können nach dem Lesen leicht wieder gelöscht werden.

Prozentbalken in APEX-Reports

gefunden unter http://apex-smb.blogspot.com/2009/06/displaying-percentage-bar-in-apex.html über ... PCT_GRAPH: Hex background color : Hex foreground color : Bar width in pixels ... in der Spaltendefinition, Feld Datum/Nummer-Formatierung läßt sich der Prozentwert graphisch darstellen. Bsp.: PCT_GRAPH:330099:CC0000:100

Unterschiedliche Detaillevel im Report

Herausforderung: Ein Report soll unterschiedliche Detaillevel anzeigen. Die Beispiel-Tabelle: drop table fs_t1; create table fs_t1 ( ddd number, ddd_vgl number, wert_B number, wert_S number, ziel number ); insert into fs_t1 values (1, 1, 10, 15, 20); insert into fs_t1 values (2, 2, 20, 25, 31); insert into fs_t1 values (2, 12, 20, 25, 32); insert into fs_t1 values (3, 13, 30, 35, 40); insert into fs_t1 values (3, 3, 30, 35, 40); commit; select ddd, ddd_vgl,wert_B, wert_S, ziel from fs_t1; DDD DDD_VGL WERT_B WERT_S ZIEL ---------- ---------- ---------- ---------- ---------- 1 1 10 15 20 2 2 20 25 31 2 12 20 25 32 3 13 30 35 40 3 3 30 35 40 5 rows selected. Zu DDD 2 gibt es zwei unterschiedliche Vergleichs-DDD's mit unterschi...