Alex_winf01 Geschrieben 16. September 2008 Teilen Geschrieben 16. September 2008 Hallo liebe Forengemeinde, ich hänge gerade an einem dicken Problem: CREATE TABLE Test ( ID VARCHAR(10) NOT NULL, wahrheit boolean, Primary Key(ID) ); Nun fliegt mir die Zeile mit dem boolean um die Ohren, da Oracle an sich keinen boolean kennt. Nun brauche ich aber einen boolean. Ich weiss, dass es in PL/SQL den Datentyp boolean gibt. Wie kann ich das über PL/SQL in die CREATE TABLE-Anweisung einbauen? Und noch eine Info: Nein, es soll kein char oder varchar, der dann die Werte true und false aufnimmt sein. Und es soll auch nicht das als Number(1) verwendet werden, wo ich dann 0 oder 1 als boolean nehme. Wie kann ich das umsetzen? Ein Kollege möchte das mit dem char/varchar bzw. mit dem Number auf keinen Fall. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 16. September 2008 Teilen Geschrieben 16. September 2008 Erster Treffer bei Google: OracleBlog: Oracle BOOLEAN Phil Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Alex_winf01 Geschrieben 17. September 2008 Autor Teilen Geschrieben 17. September 2008 @ flashpixx Danke für Deine Antwort. Ich habe jetzt nur folgendes Problem: CREATE TABLE Test ( ID VARCHAR(10) NOT NULL, wahrheit char(1), wahrheit2 char(1) CHECK(wahrheit IN ('Y', 'N')) CHECK(wahrheit IN ('Y', 'N')) ); Oracle lässt es nicht zu, dass ich zwei Spalten mit einem Check bearbeite. Ich benötige aber BEIDE Spalten als eine Art "boolean". Ist eine Vorgabe vom Kunden. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Alex_winf01 Geschrieben 17. September 2008 Autor Teilen Geschrieben 17. September 2008 Hat sich erledigt. Habs hinbekommen. Ich habe da aber noch eine andere Frage: 21_Testdaten als Spaltenname knallt mir um die Ohren. Schluckt Oracle keine Zahlen im Bezeichner für Spaltennamen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Alex_winf01 Geschrieben 17. September 2008 Autor Teilen Geschrieben 17. September 2008 Habs mit dem Kollegen abgesprochen. Wir benennen die Spalte anders. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amstelchen Geschrieben 17. September 2008 Teilen Geschrieben 17. September 2008 Habs hinbekommen. dann solltest du , wie hier üblich, die lösung hier auch posten. die angabe des 2. CHECK-constraint greift jedenfalls auf dieselbe spalte zu wie der erste constraint. 21_Testdaten als Spaltenname knallt mir um die Ohren. Schluckt Oracle keine Zahlen im Bezeichner für Spaltennamen? doch, *im* bezeichner schon, aber nicht am beginn weiters keine sonder- und rechenzeichen (ausser in feldern in doppelhochkomma eingeschlossen, was aber unsauber und nicht empfehlenswert ist), keine reservierten ausdrücke, maximal 30 zeichen lang, bevorzugt eindeutiger name im schema, bevorzugt kurzer name bei der verwendung umfangreicher GROUP BY aggregierungen, usw. usf. s'Amstel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Alex_winf01 Geschrieben 17. September 2008 Autor Teilen Geschrieben 17. September 2008 @ Amstelchen werde es morgen posten, wenn ich wieder auf der Arbeit bin. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Alex_winf01 Geschrieben 18. September 2008 Autor Teilen Geschrieben 18. September 2008 Also habe es wie folgt gelöst: Dyn_Grup char(5) CHECK (Dyn_Grup IN ('true', 'false')), Dyn_Grup2 char(5) CHECK (Dyn_Grup2 IN ('true', 'false')) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.