Sie sind nicht angemeldet.

  • Anmelden

Lieber Besucher, herzlich willkommen bei: MastersForum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

28.01.2009, 15:03

Oracle - SQL Syntax

Hi,
komm einfach nicht auf den Fehler in meinem SQL Befehl:

Zitat

CREATE TABLE IF NOT EXISTS "T_SHORTCUTSMANAGER_VIRTUALHOST"
( "VIRTUALHOST_PKEY" int (10) AUTO_INCREMENT unsigned NOT NULL,
"VIRTUALHOST_VIRTUALHOST" text,
PRIMARY KEY ("VIRTUALHOST_PKEY") );

Das ist blos eine Tabelle von vielen, die aber sich ziemlich ähneln. Der Fehler dürfte also in jeder Tabelle liegen, deswegen poste ich nur diese eine.
Folgende Fehlermeldung gibt mir Oracle:
http://ora-00922.ora-code.com/

Ich komme aber nicht drauf, welcher NOT NULL oder NULL Befehl wo falsch sein könnte? =/

/edit:
hab ein einfacheres sql skript genommen, das bringt nun auch die selbe fehlermeldung. Wo liegt der fehler?
Habe schon versucht das NOT NULL zu löschen, es bei der zweiten spalte auch anzuwenden, bei keiner zu verwenden, nur bei der zweiten spalte zu verwenden.
Ich verstehe diesen fehler einfach nicht.
Was stimmt da nicht?

Zitat

So einmal im Monat mit den Tieren im Fluß waschen wenn es "dein Herr" befiehlt Ragna?

Icey

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »ZwerG_Michi_de« (28.01.2009, 15:30)


Tocha

Meister

Beiträge: 2 151

Wohnort: Unterschiedlich

Beruf: GER

  • Nachricht senden

2

28.01.2009, 15:49

wenn ich nicht so elende Kopfschmerzen hätte und mich konzentrieren könnte . formatiers mal neu. vll findest dann den Fehler aber ich würde sagen dir fehlen die [] Klammern, aber ich steh atm eh aufm Schlauch.
Ich hoffe ich konnte dir wenigtens ein klein wenig helfen indem ich hier rumgespammt hab :P

3

28.01.2009, 15:54

einfach vom einfachsten hocharbeiten

mir sagt ja ned mal int oder text was, bei mir hieß das immer number und char / varchar, aber is wohl einfach zu lang her oder die sind bei euch user-defined types...

€: ok INT wird als ANSI SQL type verstanden, soweit so gut ^^

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »[AA]Hawk« (28.01.2009, 15:56)


4

28.01.2009, 16:04

hab zwar keine ahnung von Oracle, aber versuch mal das AUTO_INCREMENT als letztes Atrribut für deinen Key anzugeben.
Wenns dann immernoch nicht klappt, evtl mal schauen obs wirklich nötig is Tabellen / Felder Namen in "" anzugeben.

-=)GWC(RaMsEs

unregistriert

5

28.01.2009, 16:08

int und text is aber echt komisch. normal number und VARCHAR2. was isn das fürn db?

6

28.01.2009, 16:15

Alles getestet, leider keine Lösung dabei...

Is eine Oracle 10g.

=/

Oracle stinkt zum Himmel. MySQL konnte ich die Datenbank beim ersten Anlauf erstellen.... (nicht selbes Skript, aber sehr ähnlich)...

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »ZwerG_Michi_de« (28.01.2009, 16:16)


-=)GWC(RaMsEs

unregistriert

7

28.01.2009, 16:30

Oracle ist top und du nimm mal ' statt "

8

28.01.2009, 16:37

und lass mal das Leerzeichen zwischen int und (10) weg (obwohl, wenn's das wäre dann :respekt:)

-=)GWC(RaMsEs

unregistriert

9

28.01.2009, 17:59

orientier dich mal an dem hier

CREATE TABLE T_SHORTCUTSMANAGER_VIRTUALHOST
( VIRTUALHOST_PKEY number(10,0) NOT NULL,
VIRTUALHOST_VIRTUALHOST varchar2(50),
CONSTRAINT T_SCM_VIRTUALHOST_PK PRIMARY KEY (VIRTUALHOST_PKEY)
);

auto increment brauchst du nicht das ist im PK constraint mit drin.

im endeffekt willst du mysql code auf oracle ausführen, aber das geht nur bedingt.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »-=)GWC(RaMsEs« (28.01.2009, 18:00)


10

28.01.2009, 18:21

AUTO_INCREMENT gibts net unter ORACLE.
Im PK Constraint ist dass aber auch nicht drinne, dafuer musst du dir eine Sequence und einen entsprechenden PK Trigger schreiben

11

28.01.2009, 19:47

Gibt es denn irgendwo eine referenz, wie oracle sql aussen sollte? Ich finde das wirklich schade, dass alle ihren eigenen dialekt verwenden. Und ich konnte in google dazu leider auch nichts finden...
Einfach ein gutes sql handbuch für befehle, die auch unter oracle funktionieren.

-=)GWC(RaMsEs

unregistriert

12

28.01.2009, 19:54

ich schau immer da : http://www.datenbank-sql.de/index.htm

Tust dich halt vielleicht ein bisschen härter weil du vom "verwaschenen" mysql kommst aber unterschiede sind ja nocht so gross.

13

28.01.2009, 23:59

orginal pdf doku ist immer noch am besten

14

29.01.2009, 08:49

Zitat

Original von SIM_BamBam_GP
AUTO_INCREMENT gibts net unter ORACLE.
Im PK Constraint ist dass aber auch nicht drinne, dafuer musst du dir eine Sequence und einen entsprechenden PK Trigger schreiben

und genau deswegen ist Oracle scheisse. ... unter anderem :P

Antares, der lieber SQL Server benutzt

15

29.01.2009, 09:36

Ok.... ?(

Folgendes Skript:

Zitat

CREATE TABLE
"SHORTCUT_MGM"."T_SHORTCUTMANAGER_VIRTUALHOST" (
"VIRTUALHOST_PKEY" number (10 BYTE) PRIMARY KEY,
"VIRTUALHOST_VIRTUALHOST" VARCHAR(255 BYTE) );


diesmal ist es
http://ora-00907.ora-code.com/

Habe gehört, diese Fehlermeldung kommt manchmal auch bei einfachen Syntaxfehlern? Welcher könnte es bei mir sein?

Oracle ist einfach zum verzweifeln!!! ?(

16

29.01.2009, 10:02

Zitat

or extra information was contained in the parentheses


und ich schätze das Extra ist das "BYTE", wüsste ned dass das da reingehört

17

29.01.2009, 10:38

schau mal hier nach : ORA-Syntax da solltest du finden was du suchst, bzw für hier dass CREATE TABLE

18

29.01.2009, 13:41

Ich merke gerade, dass es der Oracle Java Treiber ist, der hier Stress macht anscheinend. Meine SQL Befehle sind schon in Ordnung, blos beim Treiber macht Java einfach zu viel stress und meint irgendwo Fehler zu sehen wo keine sind.

-=)GWC(RaMsEs

unregistriert

19

29.01.2009, 16:06

also das BYTE erwarte ich da nicht und ob vielleicht liegts auch am Primary key, das kann man auch so schreiben wie ichs oben geschrieben habe, denke aber liegt am byte.

wie gesagt wirst dich hart tun weil oracle sql ist eben nicht das spielzeug mysql :-D wesentlich formaler.

20

29.01.2009, 17:33

Ich habe mit garkeinem sql viel gearbeitet. Ich grab da doch nur weng an der oberfläche...

An dem BYTE liegt es definitiv nicht. Diese schreibweise habe ich aus einer create anweisung, die definitiv unter der oracle funktioniert.

-=)GWC(RaMsEs

unregistriert

21

29.01.2009, 17:51

hm btw wenn du sowas postest, mein sql editor gibt mir wenn er mir so einen ORA Fehler gibt auch die Stelle an wo das passiert ist. Hilft ab und an.