SQL Datenbank INSERT INTO

hey, kann mir jemand sagen was ich falsch mache?



CREATE TABLE FerienWhng(
FWID INTEGER NOT NULL,
Preis NUMBER(5, 2) NOT NULL,
FWName VARCHAR2(30) UNIQUE,
AnzZimmer INTEGER NOT NULL,
Groesse NUMBER(5, 2) NOT NULL,
AdrID INTEGER NOT NULL UNIQUE,

CONSTRAINT FerienWhng__FWID_pk PRIMARY KEY (FWID),
CONSTRAINT size_FerienWhng_Groesse_AnzZimmer CHECK (FWName >=2 AND (Groesse >=0) AND AnzZimmer > 0),
CONSTRAINT FerienWhng_AdrID_fk FOREIGN KEY (AdrID) REFERENCES Adresse(AdrID)
);

--FerienWhng
INSERT INTO FerienWhng (FWID, Preis, FWName, AnzZimmer, Groesse, AdrID)
VALUES (0, 299.00, 'Dschungelbuch Ferienwohnung', 2, 72.00, 0);

INSERT INTO FerienWhng (FWID, Preis, FWName, AnzZimmer, Groesse, AdrID)
VALUES (1, 220.00, 'Baloo Ferienwohnung', 1, 43.00, 1);

INSERT INTO FerienWhng (FWID, Preis, FWName, AnzZimmer, Groesse, AdrID)
VALUES (2, 399.99, 'Mogli Ferienwohnung', 3, 36.00, 2);

INSERT INTO FerienWhng (FWID, Preis, FWName, AnzZimmer, Groesse, AdrID)
VALUES (3, 780.00, 'Kaa Ferienwohnung', 4, 120.00, 3);


Fehler beim Start in Zeile: 28 in Befehl -
INSERT INTO FerienWhng (FWID, Preis, FWName, AnzZimmer, Groesse, AdrID)
VALUES (0, 299.00, 'Dschungelbuch Ferienwohnung', 2, 72.00, 0)
Fehlerbericht -
ORA-01722: Ungültige Zahl
 
Zum einen: Nutze doch die Code Tags.
Zum anderen: Wie wäre es mit DB Grundlagen lernen?
Ein Fehler wird dir doch angezeigt: "Ungültige Zahl".

In deinem Constraint checkst du den namen:
FWName >=2
Hier ist aber ein String und keine Zahl.

Tipp: Preise nicht so abspeichern. Z.b. als Cent und dann die Euros daraus ausrechnen.
 
Zum einen: Nutze doch die Code Tags.
Zum anderen: Wie wäre es mit DB Grundlagen lernen?
Ein Fehler wird dir doch angezeigt: "Ungültige Zahl".

In deinem Constraint checkst du den namen:
FWName >=2
Hier ist aber ein String und keine Zahl.

Tipp: Preise nicht so abspeichern. Z.b. als Cent und dann die Euros daraus ausrechnen.
Erst einmal Danke für deine Antwort.
Das hat nichts mit DB Grundlagen lernen zu tun, manchmal übersieht man eine Kleinigkeit, die zu Fehler führen, wie im vergangenen Beitrag, als ich ein n zu viel hatte, wenn du keine Lust zum helfen hast, dann antworte nicht. Die Frage hättest du dir auch sparen können. Trotzdem Danke.
 
Wenn er nicht geantwortet hätte, dann hättest du nicht so schnell erfahren, wo das Problem ist:
In deinem Constraint checkst du den namen:
FWName >=2
Hier ist aber ein String und keine Zahl.
(Nur noch einmal geteilt, falls Du es übersehen hast!)

Und ich teile durchaus die Sicht von @Dukel und das war ja kein Vorwurf sondern ein gut gemeinter Ratschlag.

So ein Constraint auf einem VARCHAR hast Du doch vor kurzem schon einmal gebracht:

Das ist alles ok - ich will Dir da auch keinen Vorwurf machen. Aber ebenso darfst Du uns durchaus unterstellen, dass wir helfen wollen. Nur eben haben wir immer den Gedanken im Hinterkopf: Was für Wissen können wir vermitteln, damit Du entsprechende Herausforderungen eigenständig meistern kannst.

Ein Hinweis auf den reinen Fehler mit kurzer Beschreibung scheint da nicht gereicht zu haben. Nur bei so absoluten Basics haben wir etwas, das wir hier im Rahmen des Forums nicht vermitteln können. Wir werden hier jetzt nicht anfangen, ein SQL Buch zu schreiben (um es überspitzt auszudrücken). Das mit den Grundlagen hätte ich Dir vor paar Tagen schon gesagt, aber vor dem Abschicken hatte ich bemerkt, dass das SQL Tutorial, das ich gefunden hatte, nur DML (Data Manipulation Language) umfasste und Deine Probleme sind ja im DDL (Data Definition Language) Bereich. Und ich muss gestehen: Ich war da einfach zu faul, mit dem Smartphone noch weiter suchen...

Du bist uns herzlich willkommen und wir helfen gerne weiter. Aber die Grundlagen solltest Du Dir doch etwas mehr erarbeiten bzw, diese durch Praxis etwas mehr vertiefen. (Wobei Du ja durchaus an Letzterem zu sein scheinst ... Da wäre die Aussage einfach ein "weiter so - bleib dran")
 
Wenn er nicht geantwortet hätte, dann hättest du nicht so schnell erfahren, wo das Problem ist:

(Nur noch einmal geteilt, falls Du es übersehen hast!)

Und ich teile durchaus die Sicht von @Dukel und das war ja kein Vorwurf sondern ein gut gemeinter Ratschlag.

So ein Constraint auf einem VARCHAR hast Du doch vor kurzem schon einmal gebracht:

Das ist alles ok - ich will Dir da auch keinen Vorwurf machen. Aber ebenso darfst Du uns durchaus unterstellen, dass wir helfen wollen. Nur eben haben wir immer den Gedanken im Hinterkopf: Was für Wissen können wir vermitteln, damit Du entsprechende Herausforderungen eigenständig meistern kannst.

Ein Hinweis auf den reinen Fehler mit kurzer Beschreibung scheint da nicht gereicht zu haben. Nur bei so absoluten Basics haben wir etwas, das wir hier im Rahmen des Forums nicht vermitteln können. Wir werden hier jetzt nicht anfangen, ein SQL Buch zu schreiben (um es überspitzt auszudrücken). Das mit den Grundlagen hätte ich Dir vor paar Tagen schon gesagt, aber vor dem Abschicken hatte ich bemerkt, dass das SQL Tutorial, das ich gefunden hatte, nur DML (Data Manipulation Language) umfasste und Deine Probleme sind ja im DDL (Data Definition Language) Bereich. Und ich muss gestehen: Ich war da einfach zu faul, mit dem Smartphone noch weiter suchen...

Du bist uns herzlich willkommen und wir helfen gerne weiter. Aber die Grundlagen solltest Du Dir doch etwas mehr erarbeiten bzw, diese durch Praxis etwas mehr vertiefen. (Wobei Du ja durchaus an Letzterem zu sein scheinst ... Da wäre die Aussage einfach ein "weiter so - bleib dran")
Hätte man mich darauf hingewiesen, so wie du es geschrieben hast, wäre das auch kein Problem aber " Wie wäre es mit DB Grundlagen lernen?" ist für mich kein Hinweis, sondern eine unhöfliche Art.

"Ein Hinweis auf den reinen Fehler mit kurzer Beschreibung scheint da nicht gereicht zu haben. " siehe letzte Beiträge, meine Gedanken Gänge und was ich rumprobiert habe, habe ich immer beschrieben.

Ich meine warum, gibt es so eine Plattform, wenn man sich Mühe gibt und kleine Fehler übersieht und eine dritte Meinung einholen möchte.
 
Ich fürchte, dass Du da zu viel rein interpretierst. Ich bin sicher, dass @Dukel in keiner Weise abfällig oder unhöflich sein wollte.

Nur oft schreiben wir einfach schnell unsere Gedanken als Antwort zusammen in der Hoffnung, dass es hilfreich ist. Man mag da zwar gerne diskutieren, ob es nicht besser wäre, bei wenig Zeit ggf. nicht zu schreiben. Dann gäbe es aber z.B. ca. 75% meine Beiträge nicht, die fast alle in kleinen "Minipausen" entstehen.

Daher evtl. einfach ein etwas dickeres Fell zulegen und über so Dinge etwas drüber hinweg sehen.
 

Zurück
Oben