Zum Inhalt springen

dbwizard

Mitglieder
  • Gesamte Inhalte

    303
  • Benutzer seit

  • Letzter Besuch

Beiträge von dbwizard

  1. Welche version hast du denn ? Aktuell ist die Oracle SQL Developer 3.2.1 (3.2.10.09.57). Wenn du aus einer bestehenden Oracle DB das Model ziehen willst, gehst du folgendermasen vor :

    - Eine (funktionierende) Connection erstellen

    - Menü "Datei,Data Modeler, Importieren, Data Dictionary auswählen

    - Connection auswählen, weiter

    - Schema auswählen, weiter

    - etc

  2. Einen Primary Key wiederzuverwenden ist ein absolutes No Go. Ich möchte z.b. noch den Case erwähnen, wenn Daten in einen weitere Datenbank exportiert werden müssen (z.b. ein Datamart / Datawarehouse) und du in deiner Source DB die PK änderst stimmen deine Referenzen nicht mehr, so dass du keine ückschlüsse auf die Quelldaten mehr machen kannst.

  3. Hallo Alex,

    Wir haben hier für einen Kunden eine Pesonaleinsatzplanung im Betrieb. In der Schweiz sind die Feiertage in den einzelnen Kantonen und z.t. sogar Städten unterschiedlich. Dies haben wir gelöst, indem wir eine Tabelle Feiertage, alle Kantone (D=Bundesländer) sowie eine Relationstabelle Feiertage-Kantone erstellt haben (Wir gehen in unserer Applikation nicht "tiefer" als auf Kantonsebene.

    (auszug)

    
    
    DESC code_publicholiday
    
    /
    
    
    Name                           Data Type                     
    
    ------------------------------ ------------------------------
    
    PUBLICHOLIDAY_ID               NUMBER                NOT NULL
    
    ISACTIVE                       NUMBER(1,0)           NOT NULL
    
    VALIDFROM                      DATE                  NOT NULL
    
    CREATIONDATE                   TIMESTAMP(6)          NOT NULL
    
    CREATEDBY_ID                   NUMBER                NOT NULL
    
    CHANGEDATE                     TIMESTAMP(6)          NOT NULL
    
    CHANGEDBY_ID                   NUMBER                NOT NULL
    
    SORTKEY                        NUMBER
    
    HOLIDAYDATE                    DATE                  NOT NULL
    
    REPEATEVERYYEAR                NUMBER(1,0)           NOT NULL
    
    DESCRIPTIONGE                  VARCHAR2(100 BYTE)    NOT NULL
    
    DESCRIPTIONFR                  VARCHAR2(100 BYTE)    NOT NULL
    
    DESCRIPTIONIT                  VARCHAR2(100 BYTE)    NOT NULL
    
    VALIDALLCANTONS                NUMBER(1,0)           NOT NULL
    
    
    
    DESC CODE_CANTON
    
    /
    
    
    Name                           Data Type                     
    
    ------------------------------ ------------------------------
    
    CANTON_ID                      NUMBER                NOT NULL
    
    CANTON_KURZ                    VARCHAR2(2 BYTE)      NOT NULL
    
    CANTON_LANG_D                  VARCHAR2(40 BYTE)
    
    CANTON_LANG_F                  VARCHAR2(40 BYTE)
    
    CANTON_LANG_I                  VARCHAR2(40 BYTE)
    
    ISVALID                        NUMBER(1,0)           NOT NULL
    
    ISDEFAULT                      NUMBER(1,0)           NOT NULL
    
    ISACTIVE                       NUMBER(1,0)           NOT NULL
    
    CREATOR                        VARCHAR2(10 BYTE)
    
    CREATIONDATE                   DATE
    
    LASTCHANGE                     VARCHAR2(10 BYTE)
    
    LASTCHANGEDATE                 DATE
    
    VALIDFROM                      DATE                  NOT NULL
    
    
    
    DESC REL_HOLIDAY_CANTON
    
    /
    
    Name                           Data Type                     
    
    ------------------------------ ------------------------------
    
    PUBLICHOLIDAY_ID               NUMBER                NOT NULL
    
    PUBLICHOLIDAYVALIDFROM         DATE                  NOT NULL
    
    CANTON_ID                      NUMBER                NOT NULL
    
    CANTONVALIDFROM                DATE                  NOT NULL
    
    
    
    

    Grüsse

  4. ....Man braucht schon etwas, das Statements zur

    Schema-Änderung anzeigen kann. Also ein deklaratives Schema-Modell und ein

    Diff-Tool das daraus entprechende SQL-Statements erzeugt. Wird sich sicherlich

    im Netz irgendwas finden lassen, das sich dann auch als diff-tool in git einbinden ließe.

    Hallo,

    Für Oracle kann dies sicher der SQLDeveloper (--> Extras --> Database Diff, kostenlos) und auch TOAD (nicht kostenlos :-))

    Grüsse

  5. ....

    Wir haben dämlicherweise jede Menge Dubletten in einer bestimmten Tabelle.

    Nun sollen aber alle Dubletten dieser Tabelle bis auf einen Datensatz gelöscht werden.

    ...

    Hallo,

    Doppelte Datesätze kannst du mit folgender Methode selektieren (Das Attribut "Name" soll hier geprüft werden) :

    
    
    SELECT name
    
      FROM Test a
    
     WHERE ROWID <> (SELECT MAX (ROWID)
    
                       FROM Test b
    
                      WHERE b.name = a.name);
    
    
    

    Das Löschen sollte anschliessend kein Problem darstellen...

    Grüsse

  6. Der Rückgabewert der Funktion muss auch irgendwohin.

    
    variable foo number;
    
    execute :foo := function('param1', 'param2');
    
    
    Also eine Function in PL/SQL wird nicht so aufgerufen. Richtig wäre :
    
    
    foo:= function('param1', 'param2');
    
    

    - Foo muss (sollte) mit demselben Typ wie der Rückgabewert der Funktion definiert werden

    Noch ein Tip : Gewöhne dich daran, in PL/SQL ausschliesslich in Packages zu arbeiten, nicht mit Funktionen / Prozeduren.

    Gruss

  7. Hallo zusammen,

    ich finde einfach nirgends ein verständliches Beispiel dafür, wie ich mittels JDBC eine neue Oracle Datenbank erstellen kann. Ich wäre dankbar für Hilfe.

    Gruß

    Du meinst, wie du mit JDBC Connecten kannst ? Mit JDBC kannst du keine "neue Datenbank erstellen"

    Gruss

  8. funktioniert leider nicht test steht für tabelle oder ?

    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /srv/www/web15....

    SELECT a.user, a.ip

    FROM tabelle a

    WHERE (SELECT COUNT (b.ip) AS countip

    FROM tabelle b

    WHERE a.ip = b.ip) > 1

    ich habe nur eine tabelle,

    - Die Aliase benötigst du, weil du ein Subquery hast, indem dieselbe Tabelle nochmals angesprochen wird.

    - Das Beispiel läuft unter Oracle, kenne MySQL nicht wirklich gut

    Gruss

  9. ich möchte abfragen welche user die gleiche IP benutzen.

    nicht die gesammte tabelle ausgeben.

    ....

    nur die user die gleiche ip haben

    Hallo,

    
    
    SELECT a.benutzer, a.ip
    
      FROM test a
    
     WHERE (SELECT COUNT (b.ip) AS countip
    
              FROM test b
    
             WHERE a.ip = b.ip) > 1
    
    
    
    

    Gruss

  10. Mal von der Datumssortierung abgesehen, gibt es eine Möglichkeit den nächsten Datensatz einer Ergebnismenge zu lesen? Ohne die Sortierung und ausgrenzung mit "Rownum=1"? Sprich: ich habe Artikelnummer 123 und möchte die nächst höhere aus dem Artikelstamm haben.

    Hallo

    Dies kannst du folgendermassen erreichen :

    
    
      SELECT id FROM MyTable WHERE id > 123 AND rownum=1 ORDER BY id
    
    

    Grüsse

  11. @ dr.dimitri

    danke für Deinen Ansatz. Der funktioniert.

    @ dbwizard

    kannst Du mir die Fehlermeldung erklären? Dein Code

    CREATE PROCEDURE test ( i_n_MyParameter IN varchar2) IS
    
        BEGIN
    
            SELECT * FROM stammdaten
    
             WHERE KHPN = i_n_MyParameter;
    
    
    EXCEPTION
    
            WHEN NO_DATA_FOUND
    
            THEN
    
                RETURN;
    
    end;
    
    

    führt nämlich zu diesem Fehler.

    Dies war nur als Beispiel gedacht. Das Resultat des SQL muss "irgendwohin", entweder in einen Cursor (wie Dim es geschribenen hat) oder als Select my_Feld INTO myVariable where...., dies liest einen Wert in ein vorgängig definiert Variable ein.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...