dbwizard
-
Gesamte Inhalte
303 -
Benutzer seit
-
Letzter Besuch
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Beiträge von dbwizard
-
-
Joins hab ich noch nie benutzt ich habs schon immer so (umstandlich) gemacht...alte macken wird man schwer los
Dann würde ich jetzt damit anfangen, ohne JOINS macht eine Relationale Datenbank praktisch keinen Sinn....
-
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
-
Menu Extras--> Data Modeler
...ist nun wirklich nicht schwer zu finden gewesen ....
Gruss
-
Mit dem Oracle SQLDeveloper (Data Modeler) solltest du dir das Model ausgeben lassen können.
Grüsse
-
@smite
>>>>
Ein Index soll einen Datensatz eindeutig kennzeichnen.
<<<<
Nur eine Präzisierung : Ein Primary Key soll einen Datensatz eindeutig kennzeichnen, ein Index kann durchaus mehrfach dieselben Werte enthalten, so er nicht als UNIQUE definiert worden ist
-
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.
-
-
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
-
Hallo,
Du kanst ermitteln, welcher Wochentag es ist (Montag, ....). Ob dies ein Arbeitstag ist, weiss die DB nicht, dies ist eine Definitionssache
SELECT TO_CHAR (SYSDATE, 'DAY') FROM DUAL
Gruss
-
....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
-
Hallo,
Wir arbeiten mit Subversion, ist im SQL Developer als Plug In Verfügbar (Wir entwickeln allerdings nicht mit APEX, sollte aber keine Rolle spielen
Grüsse
-
Hallo,
Viel ist es nicht, aber evtl hilft dir dieser Link weiter, ist natürlich Produktspezifisch :
TimesTen In-Memory Database | Oracle Database
Gruss
-
....
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
-
Man sollte keine binären Daten innerhalb der Datenbank speichern. Im Normalfall speichert man das Bild und in der Datenbank eine Referenz auf das Bild.
Kleine Frage, nur aus Neugier : Warum den das ?
gruss
-
Also eine Function in PL/SQL wird nicht so aufgerufen. Richtig wäre :Der Rückgabewert der Funktion muss auch irgendwohin.variable foo number; execute :foo := function('param1', 'param2');
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
-
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
-
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
-
wofür steht a und b
Dies sind Tabellen-Aliase. Du kannst es auch Peter und Hans nennen :-)
-
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
-
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
-
@ 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.
-
WHERE KUNDENNR = 0 AND KUNDENGRUPPE = ''
Sind dies beiden Bedinungen den überhaupt erfüllt ? D.h.gibt es eine KundenNR=0 / Kundegruppe ='' mit sinnvollen Daten ?
-
Also ich habe eigentlich nur den Tabellennamen und den Spaltennamen angepasst.
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;
END; Es war ein END; zuviel im Code....Ich sollte weniger am Wochenende arbeiten :-(
-
@ dbwizard
danke schon mal für deine Antwort. Bei Deinem Beispiel bekomme ich aber eine Fehlermeldung, dass das Symbol "Exception" gefunden wurde.:confused:
Poste doch bitte mal dein Prozedur. Da fehlt Irgendwo ein ; oder ähnliches
Oracle Export - Clob Datensätze
in Datenbanken
Geschrieben
Der SQLDeveloper von Oracle (Kostenlos) sollte dies können,
Oracle SQL Developer Downloads
Gruss