Posts

Es werden Posts vom Dezember, 2012 angezeigt.

SYSDATE vs. SYSTIMESTAMP

Zur Ermittlung der Systemzeit gibt es in Oracle PL_SQL folgende Möglichkeiten a) sysdate -> liefert die Systemzeit sekundengenau b) systimestamp -> liefert die Systemzeit mit sekundenBRUCHTEILEN (unter Unix mehr Nachkommastellen als unter Windows) Beispiele select to_char(sysdate,'dd.mm.yyyy hh24:mm:ss') A from dual; select to_char(sysdate,'dd.mm.yyyy hh24:mm:ss.ffffff') A from dual; => Fehler, siehe unten select to_char(systimestamp,'dd.mm.yyyy hh24:mm:ss.ffffff') B from dual; A                  ------------------- 21.12.2012 12:12:13 1 row selected. select to_char(sysdate,'dd.mm.yyyy hh24:mm:ss.ffffff') A from dual                        * Error at line 1 ORA-01821: date format not recognized B             ...

Umgang mit virtuellen Spalten in Oracle 11g

Eine sehr gute Übersicht zum Umgang mit virtuellen Spalten in Oracle 11g stellt die Übersicht von Frank Schneede (Oracle) dar: http://www.oracle.com/webfolder/technetwork/de/community/dbadmin/tipps/virtual_columns/index.html Bsp.: Anlegen SQL> CREATE TABLE t_test 2 ( c_col1 INTEGER 3 , c_col2 INTEGER 4 , c_col3 INTEGER GENERATED ALWAYS AS (c_col1 + c_col2) VIRTUAL 5 ); Table created. Bsp: Virtuelle Spalten und PL/SQL-Funktionen Anlegen der PL-Funktion -> diese muss als deterministic deklariert sein SQL> CREATE FUNCTION f_summiere( 2 p1 IN INTEGER, 3 p2 IN INTEGER ) RETURN INTEGER DETERMINISTIC AS 4 BEGIN 5 RETURN p1 + p2; 6 END f_summiere; 7 / Function created. Nutzung der PL-Funktion als virtuelle Spalte SQL> ALTER TABLE t_test ADD 2 c_col5 GENERATED ALWAYS AS (f_summiere(c_col1,c_col2)); Table altered. Weitere Detail, Beispiele und Einschränkungen finden sich im besagten Artikel.

Oracle Dojo's zu verschiedenen Themen

Oracle hat zu den Themen * RAC * Big Data * Enterprise Manager 12c * DWH - Konzepte * Real Application Testing gute Kurzübersichten erstellt, die hier abgerufen werden können: http://www.oracle.com/webfolder/technetwork/de/community/dojo/index.html