Machen Spalte standardmäßig auf NULL explizit

Wie mache ich eine Spalte standardmäßig auf NULL explizit?

Möchte ich erklären, eine Spalte in Oracle SQL Developer zu NULL auf default. Ich bin mir der Tatsache bewusst, dass NULL wird der default-Wert, wenn ich definieren Sie keine default-Wert überhaupt. Aber wie definiere ich NULL als Standard, wenn ich wollen würde, dass es explizit tun?

-- 1: Does not work.
ALTER TABLE MY_TABLE ADD (
  MY_COLUMN TIMESTAMP(6) DEFAULT null
);

-- 2: Does not work.
ALTER TABLE MY_TABLE ADD (
  MY_COLUMN TIMESTAMP(6) DEFAULT NULL
);

-- 3: Does not work.
ALTER TABLE MY_TABLE ADD (
  MY_COLUMN TIMESTAMP(6) DEFAULT (null)
);

-- 4: This works.
ALTER TABLE MY_TABLE ADD (
  MY_COLUMN TIMESTAMP(6)
);

In Fall 1-3 ist der default-Wert wird eine Zeichenkette ("NULL", "null" oder "(null)"), nicht aber eine tatsächliche NULL Wert. So was vermisse ich hier?

//Edit:

Fall (a) und (b) entsprechen Fall 1 und 2. Ein text-Wert von null oder NULL angezeigt, im SQL Developer. Fall (c) entspricht Fall 4, wo ein real (null) Wert explizit festgelegt ist. Die screenshots wurden bei einer Tabelle Spalten Registerkarte SQL Developer.

SQL Developer http://s1.postimg.org/fclraa0dp/SQL_Developer.png

  • Haben Sie irgendeinen Grund für den Wunsch, diese anderen als zur Befriedigung Ihrer eigenen Neugier? (Das ist ein triftiger Grund, aber andere Gründe könnte Eingabeaufforderung anderen Antworten.)
  • Funktioniert das gut: sqlfiddle.com/#!9/c0113/1 es muss etwas anderes sein Sie nicht uns mitzuteilen. Was ist der exakt Fehlermeldung erhalten Sie? (Btw: Aussage 1,2 und 3 sind identisch)
  • Es gibt keine Fehler, es stellt einfach keine (null) Wert als Standardwert. Lesen Sie sich meine Frage eher vorsichtig, ich habe erwähnt, dass bereits. Auch, warum haben Sie entfernen die oracle-sqldeveloper tag?
  • Einfach nur neugierig, wie man (null) als default-Wert in der Abfrage mit SQL Developer (explizit).
  • Da der SQL-client verwendet wird, ist irrelevant für die Frage. Und in dem Fall 1-3 ist der default-Wert wird nicht ein string sein. Es werden ein null Wert. Und was genau meinst du mit "es stellt einfach keine (null -) Wert als Standard" - wo erwarten Sie von dieser null-Wert "setzen"? Tut Sie es nicht zeigen, bis in der DDL für die Tabelle? Hat es keine insert einen null-Wert, der beim ausführen einer insert?
  • Hmmm, eine Frage zu einem default. Nun, ich denke, dass, wenn die Standard-Voreinstellung ist null, dann, ob Oracle wählt explizit identifizieren oder nicht, ist eine interne Angelegenheit. Ich denke, dies ist ein Beispiel für eine Frage in was würde es helfen, zu wissen, was eventuelle problem eine Lösung helfen würde, mit.
  • Diese Frage ist eng gebunden SQL Developer, da waren die null wird anders behandelt, die in jeder Abfrage, die ich gepostet. Wenn ich sage, gesagt, ich Rede von der Ausgabe in SQL Entwickler Registerkarte "Spalten".
  • Sie verstehen, dass der SQL Developer ist nur eine Schnittstelle zum Oracle-RDBMS und SQL Entwickler selbst nicht über einen Standardwert für die Spalte? Es ist nur das Lesen aus der Datenbank-Katalog. SQL-Entwickler könnten so modifiziert werden, dass das Wort "NULL" erscheint als Standardwert für eine Spalte, wenn kein Standardwert festgelegt wurde, aber das ist nur eine Präsentation Thema, das völlig unabhängig zu dem was der Standard ist in der Datenbank.
  • Nicht zu sehen, Ihre Abbildung.
  • Ich vermute, Sie haben falsch verstanden, die syntax. 'NULL' ist ein string, der die Zeichen N, U, L, L. NULL ist kein string, es ist ein Ausdruck, der den Wert NULL; gleich wie null und (null) und (NULL) die sind alle logisch äquivalent.
  • Warum ist dann das input-Feld leer, wenn (null) war implizit gesetzt oder Umgekehrt, warum SQL Developer anzeigen (null) wenn der implizite Standardwert ist kein Wert. Es scheint widersprüchlich zu mir.
  • Wahrscheinlich, weil Sie tun seltsame Dinge - es gibt keinen logischen Grund, um den Standard zu einer dieser Ausdrücke, da NULL ist der Standard sowieso, also, warum jemand kümmern würde, wie die SQL-Entwickler zeigt ist mir schleierhaft.

InformationsquelleAutor user1438038 | 2015-09-22
Schreibe einen Kommentar