# Oracle; Daten aus Tabelle löschen



## binfgi (10. Juli 2006)

Hallo, 
ich habe folgendes Select-Statement:

```
select * from LAB_PROJECTS l, ORDER_POSITIONS op, ORDER_SAMPLES os, ORDER_METHODS om
where l.LAB_PROJECT_NAME like 'PERFTEST%'
and l.ID_LAB_PROJECT = op.ID_LAB_PROJECT
and op.ID_ORDER = os.ID_ORDER
and op.ID_ORDER = om.ID_ORDER
```

Genau diese Daten möchte ich nun löschen. 
Das einfachste ist, so dachte ich das select * durch ein delete zu ersetzen. Das funktioniert aber nicht.
Kann mir da jemand helfen?
Dankeschön!


----------



## BLOEBAUM (10. Juli 2006)

Hallo binfgi,

schau mal hier:

MySQL 4.0 Referenzhandbuch :: 7.4.6 DELETE-Syntax

Gruß

Harald


----------



## binfgi (10. Juli 2006)

mh, tja, genau so hatte ich es gemacht.
Das geht aber nicht mit

```
delete LAB_PROJECTS, ORDER_POSITIONS, ORDER_SAMPLES, ORDER_METHODS from LAB_PROJECTS l, ORDER_POSITIONS op, ORDER_SAMPLES os, ORDER_METHODS om
where l.LAB_PROJECT_NAME like 'PERFTEST%'
and l.ID_LAB_PROJECT = op.ID_LAB_PROJECT
and op.ID_ORDER = os.ID_ORDER
and op.ID_ORDER = om.ID_ORDER
```

auch nicht mit 

```
delete from LAB_PROJECTS l, ORDER_POSITIONS op, ORDER_SAMPLES os, ORDER_METHODS om
where l.LAB_PROJECT_NAME like 'PERFTEST%'
and l.ID_LAB_PROJECT = op.ID_LAB_PROJECT
and op.ID_ORDER = os.ID_ORDER
and op.ID_ORDER = om.ID_ORDER
```


----------



## Ritchie_Fomm (10. Juli 2006)

Bekommst du da eine Fehlermeldung oder macht der einfach nur nichts  ... gibt es Abhängigkeiten zu anderen Tables?

Grüße
R.


----------



## binfgi (10. Juli 2006)

es sagt immer "sql command not properly ended" nach der Aufzählung der ersten Tabelle.
Es gibt kein delecte cascading, von daher dürfte es keine Probleme geben.


----------



## Ritchie_Fomm (10. Juli 2006)

Hallo, 

ich bin mir nicht sicher ob du mit dem Delete Befehl mehrere Tables bearbeiten kannst, ich meine ehere nicht. Ich würde die Tables in eine View packen und dann über die View das delete ausführen. Das müsste eigentlich klappen!

Grüße
Ritchie


----------



## elmyth_ (10. Juli 2006)

... ob es diese Möglichkeit gibt?!


```
DELETE FROM
(SELECT LAB_PROJECTS, ORDER_POSITIONS, ORDER_SAMPLES, ORDER_METHODS
FROM LAB_PROJECTS, ORDER_POSITIONS, ORDER_SAMPLES, ORDER_METHODS)
WHERE LAB_PROJECTS.LAB_PROJECT_NAME like 'PERFTEST%' AND LAB_PROJECTS.ID_LAB_PROJECT = ORDER_POSITIONS.ID_LAB_PROJECT AND ORDER_POSITIONS.ID_ORDER = ORDER_SAMPLES.ID_ORDER AND ORDER_POSITIONS.ID_ORDER = ORDER_METHODS.ID_ORDER
```

//edit, ich habe es gerade getestet. Wenn ich mehere Tabellen angebe, kommt als Fehlermeldung "Spalte nicht eindeutig definiert".


----------

