Hallo,
es ist das erste mal, dass ich SQL in einer Oracle-Datenbank verwenden muss
und bin überrascht, dass nicht mal das (für mich) einfachste SQL funktioniert.
Das liegt natürlich nicht an Oracle oder SQL, sondern an mir![Wink ;) ;)](/styles/default/xenforo/smilies/wink.png)
Vielleicht kann mir einer helfen, ich möchte einige Tabellen erstellen und bekomme
bei jeder einzelnen Tabelle folgenden Fehler:
Außerdem habe ich noch keine einfache Möglichkeit gefunden, eine ID automatisch
inkrementieren zu lassen.
(Das SQL das ich normalerweise verwende lässt so etwas problemlos zu: ID BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY)
Zum Schluss mal die Statments die ich durchjagen möchte. Vom Aufbau ähneln alle
Statements den ersten dreien:
Hoffe das ich das schnell in meinen Kopf bekomme, was es hier für
Oracle zu beachten gibt![Smile :) :)](/styles/default/xenforo/smilies/smile.png)
Grüße
es ist das erste mal, dass ich SQL in einer Oracle-Datenbank verwenden muss
und bin überrascht, dass nicht mal das (für mich) einfachste SQL funktioniert.
Das liegt natürlich nicht an Oracle oder SQL, sondern an mir
![Wink ;) ;)](/styles/default/xenforo/smilies/wink.png)
Vielleicht kann mir einer helfen, ich möchte einige Tabellen erstellen und bekomme
bei jeder einzelnen Tabelle folgenden Fehler:
Code:
ORA-00922: missing or invalid option
Außerdem habe ich noch keine einfache Möglichkeit gefunden, eine ID automatisch
inkrementieren zu lassen.
(Das SQL das ich normalerweise verwende lässt so etwas problemlos zu: ID BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY)
Zum Schluss mal die Statments die ich durchjagen möchte. Vom Aufbau ähneln alle
Statements den ersten dreien:
Code:
--
-- Sequence for aout incrment
--
CREATE SEQUENCE IF NOT EXISTS AUTO_INC_SEQ
START WITH 1
INCREMENT BY 1;
--
-- Table Person
--
CREATE TABLE IF NOT EXISTS FITNESS_PERSON
(
ID NUMBER NOT NULL PRIMARY KEY,
FIRST_NAME VARCHAR NOT NULL,
LAST_NAME VARCHAR NOT NULL,
NICK_NAME VARCHAR NOT NULL,
DATE_BIRTH DATE NOT NULL,
PASSWORD VARCHAR NOT NULL,
CONSTRAINT UNIQUE(NICK_NAME)
);
--
-- Table BMR
--
CREATE TABLE IF NOT EXISTS FITNESS_BMR
(
ID NUMBER NOT NULL PRIMARY KEY,
VALUE FLOAT NOT NULL,
VALUE_DATE DATE NOT NULL
);
--
-- M:N for BMR and Person
--
CREATE TABLE IF NOT EXISTS FITNESS_BMR_PERSON
(
BMR_ID NUMBER NOT NULL,
PERSON_ID NUMBER NOT NULL,
FOREIGN KEY(BMR_ID) REFERENCES FITNESS_BMR(ID),
FOREIGN KEY(PERSON_ID) REFERENCES FITNESS_PERSON(ID),
CONSTRAINT BMR_PER PRIMARY KEY(BMR_ID, PERSON_ID)
);
--
-- Table BMI
--
CREATE TABLE IF NOT EXISTS FITNESS_BMI
(
ID NUMBER NOT NULL PRIMARY KEY,
VALUE FLOAT NOT NULL,
VALUE_DATE DATE NOT NULL
);
--
-- M:N for BMI and Person
--
CREATE TABLE IF NOT EXISTS FITNESS_BMI_PERSON
(
BMI_ID NUMBER NOT NULL,
PERSON_ID NUMBER NOT NULL,
FOREIGN KEY(BMI_ID) REFERENCES FITNESS_BMI(ID),
FOREIGN KEY(PERSON_ID) REFERENCES FITNESS_PERSON(ID),
CONSTRAINT BMI_PER PRIMARY KEY(BMI_ID, PERSON_ID)
);
--
-- Table AMR
--
CREATE TABLE IF NOT EXISTS FITNESS_AMR
(
ID NUMBER NOT NULL PRIMARY KEY,
VALUE FLOAT NOT NULL,
VALUE_DATE DATE NOT NULL
);
--
-- M:N for AMR and Person
--
CREATE TABLE IF NOT EXISTS FITNESS_AMR_PERSON
(
AMR_ID NUMBER NOT NULL,
PERSON_ID NUMBER NOT NULL,
FOREIGN KEY(AMR_ID) REFERENCES FITNESS_AMR(ID),
FOREIGN KEY(PERSON_ID) REFERENCES FITNESS_PERSON(ID),
CONSTRAINT AMR_PER PRIMARY KEY(AMR_ID, PERSON_ID)
);
--
-- Table Workoutplan
--
CREATE TABLE IF NOT EXISTS FITNESS_WORKOUT_PLAN
(
ID NUMBER NOT NULL PRIMARY KEY,
NAME VARCHAR NOT NULL,
DESCRIPTION VARCHAR NOT NULL
);
--
-- M:N for Workoutplan and Person
--
CREATE TABLE IF NOT EXISTS FITNESS_WORKOUT_PLAN_PERSON
(
WORKOUT_PLAN_ID NUMBER NOT NULL,
PERSON_ID NUMBER NOT NULL,
FOREIGN KEY(WORKOUT_PLAN_ID) REFERENCES FITNESS_WORKOUT_PLAN(ID),
FOREIGN KEY(PERSON_ID) REFERENCES FITNESS_PERSON(ID),
CONSTRAINT WP_PER PRIMARY KEY(WORKOUT_PLAN_ID, PERSON_ID)
);
--
-- Table Workout
--
CREATE TABLE IF NOT EXISTS FITNESS_WORKOUT
(
ID NUMBER NOT NULL PRIMARY KEY,
NAME VARCHAR NOT NULL,
DESCRIPTION VARCHAR NOT NULL,
W_DATE DATE
);
--
-- M:N for Workout and Workoutplan
--
CREATE TABLE IF NOT EXISTS FITNESS_WORKOUT_WORKOUT_PLAN
(
WORKOUT_ID NUMBER NOT NULL,
WORKOUT_PLAN_ID NUMBER NOT NULL,
FOREIGN KEY(WORKOUT_ID) REFERENCES FITNESS_WORKOUT(ID),
FOREIGN KEY(WORKOUT_PLAN_ID) REFERENCES FITNESS_WORKOUT_PLAN(ID),
CONSTRAINT W_WP PRIMARY KEY(WORKOUT_ID, WORKOUT_PLAN_ID)
);
--
-- Table Exercise
--
CREATE TABLE IF NOT EXISTS FITNESS_EXERCISE
(
ID NUMBER NOT NULL PRIMARY KEY,
NAME VARCHAR NOT NULL,
DESCRIPTION VARCHAR NOT NULL,
SETS VARCHAR,
REPS VARCHAR,
WEIGHT VARCHAR,
DURATION TIME
);
--
-- M:N for Exercise and Workout
--
CREATE TABLE IF NOT EXISTS FITNESS_EXERCISE_WORKOUT
(
EXERCISE_ID NUMBER NOT NULL,
WORKOUT_ID NUMBER NOT NULL,
FOREIGN KEY(EXERCISE_ID) REFERENCES FITNESS_EXERCISE(ID),
FOREIGN KEY(WORKOUT_ID) REFERENCES FITNESS_WORKOUT(ID),
CONSTRAINT E_W PRIMARY KEY(EXERCISE_ID, WORKOUT_ID)
);
--
-- Table Workoutdiary
--
CREATE TABLE IF NOT EXISTS FITNESS_WORKOUT_DIARY
(
ID NUMBER NOT NULL PRIMARY KEY,
NAME VARCHAR NOT NULL,
DESCRIPTION VARCHAR NOT NULL
);
--
-- M:N for Workoutdiary and Person
--
CREATE TABLE IF NOT EXISTS FITNESS_WORKOUT_DIARY_PERSON
(
WORKOUT_DIARY_ID NUMBER NOT NULL,
PERSON_ID NUMBER NOT NULL,
FOREIGN KEY(WORKOUT_DIARY_ID) REFERENCES FITNESS_WORKOUT_DIARY(ID),
FOREIGN KEY(PERSON_ID) REFERENCES FITNESS_PERSON(ID),
CONSTRAINT WD_PER PRIMARY KEY(WORKOUT_DIARY_ID, PERSON_ID)
);
--
-- Table Nutritionplan
--
CREATE TABLE IF NOT EXISTS FITNESS_NUTRITION_PLAN
(
ID NUMBER NOT NULL PRIMARY KEY,
NAME VARCHAR NOT NULL,
DESCRIPTION VARCHAR NOT NULL
);
--
-- M:N for Workoutplan and Person
--
CREATE TABLE IF NOT EXISTS FITNESS_NUTRITION_PLAN_PERSON
(
NUTRITION_PLAN_ID NUMBER NOT NULL,
PERSON_ID NUMBER NOT NULL,
FOREIGN KEY(NUTRITION_PLAN_ID) REFERENCES FITNESS_NUTRITION_PLAN(ID),
FOREIGN KEY(PERSON_ID) REFERENCES FITNESS_PERSON(ID),
CONSTRAINT NP_PER PRIMARY KEY(NUTRITION_PLAN_ID, PERSON_ID)
);
--
-- Table Nutrition
--
CREATE TABLE IF NOT EXISTS FITNESS_NUTRITION
(
ID NUMBER NOT NULL PRIMARY KEY,
NAME VARCHAR NOT NULL,
DESCRIPTION VARCHAR NOT NULL,
W_DATE DATE
);
--
-- M:N for Nutrition and Nutritionplan
--
CREATE TABLE IF NOT EXISTS FITNESS_NUTRITION_NUTRITION_PLAN
(
NUTRITION_ID NUMBER NOT NULL,
NUTRITION_PLAN_ID NUMBER NOT NULL,
FOREIGN KEY(NUTRITION_ID) REFERENCES FITNESS_NUTRITION(ID),
FOREIGN KEY(NUTRITION_PLAN_ID) REFERENCES FITNESS_NUTRITION_PLAN(ID),
CONSTRAINT N_NP PRIMARY KEY(NUTRITION_ID, NUTRITION_PLAN_ID)
);
--
-- Table Food
--
CREATE TABLE IF NOT EXISTS FITNESS_FOOD
(
ID NUMBER NOT NULL PRIMARY KEY,
NAME VARCHAR NOT NULL,
DESCRIPTION VARCHAR NOT NULL,
PROTEIN INT,
CARBOS INT,
FAT INT,
CALORIES INT
);
--
-- M:N for Food and Nutrition
--
CREATE TABLE IF NOT EXISTS FITNESS_FOOD_NUTRITION
(
FOOD_ID NUMBER NOT NULL,
NUTRITION_ID NUMBER NOT NULL,
FOREIGN KEY(FOOD_ID) REFERENCES FITNESS_FOOD(ID),
FOREIGN KEY(NUTRITION_ID) REFERENCES FITNESS_NUTRITION(ID),
CONSTRAINT F_N PRIMARY KEY(FOOD_ID, NUTRITION_ID)
);
Hoffe das ich das schnell in meinen Kopf bekomme, was es hier für
Oracle zu beachten gibt
![Smile :) :)](/styles/default/xenforo/smilies/smile.png)
Grüße