Guten Tag,ich absolviere momentan Praktikum bei einer Firma und habe die Aufgabe eine neue Spalte mit löschekennzeichen in einem Views einzufügen.
Es geht um oracle data base express edition 10.
Da ich in meinem Studium überhaupt nicht mit Oracle zu tun gehabt habe, hab immer noch schwirigkeiten.
Ich möchte Sie hiermit bitten, ob mir jemand helfen kann.Für jede Fragen von euch oder Antwort werde ich mich sehr freuen.
Ich habe in der Datenbank Views und Tabellen.Die Tabellen sind miteinander verknüpft.Habe letzte Woche ein Löschkennzeichen bei einem View eingefügt und es hat fünktioniert soagr hat die Datensätze dieser Spalte angezeigt und nach drei Tagen zeigt View keine Datensätze an,steht auch im Oracle Tool, dass dieser view kein Daten enthalten.
Die Überschriften sieht man schon nach dem Aufruf aber ohne Datensätze, kann sein, wegen das neue eingefügte Spalte die Datensätze weggegangen sind?
Liegt auch an Triger?wie soll ich das ändern, um die Datensätze wieder zu bekommen?Die code vom View sollte Fehlerfrei sein, weil ich ihn kompliliert hab und hab ausserdem die Code gesichert bevor die Änderung erfolgt wurde.Übrigens sind in der Datenbank 6 Views gespeichert und man kann die Daten sätzte von drei Views sehen und die anderen drei nicht.woran sollte überhaupt liegen? Für eine schnelle Antwort werde ich mich sehr Dankbar.
Hi!
-
Frage:
View oder Materialized View? -
Frage:
Funktioniert das Select-Statement, auf das die View aufbaut???
Wenn nicht: Fehler suchen.
Wenn schon: Schritt für Schritt nachvollziehen (Bedingungen/Spalten) entfernen, bis das SELECT (!) wieder funktioniert und dann damit die View neu anlegen. -
Gibt’s keinen in Deiner Firma, der SQL beherrscht??
Grüße,
Tomh
Hey! vielen Dank für deine Antwort.
Leider gibt es keiner in der Firma, der überhaupt SQL/Oracle beherscht.
Diese Datenbank wurde von einem Student(Werkstudent) installiert und der arbeitet nicht mehr bei der Firma.
Es geht um ein Views kein Materilazid View.
Select-statement: die überschriften der Tabellen werden angezeigt aber ohne Datensätze.
Hast du gemeint, dass ich Spalten lösche und wieder erstelle, oder wie?
Vielen dank für jede Antwort
Hallo snaks42,
da Du das Statement der View ja hast (, Du hast doch vor kurzem eine zusätzliche Spalte einegfügt) kannst Du den Grund der leeren Ergebnismenge finden. Also wenn z.B. das Statement lautet:
SELECT \*
FROM tab1 a, tab2 b
WHERE a.id=b.id
AND b.value='2'
Dann solltest Du zumindestens die folgenden Bedingungen prüfen:
* hat Tabelle tab1 Datensätze?
* hat Tabelle tab2 Datensätze?
* hat Tabelle tab2 Datensätze, bei denen das Attribut value den Wert ‚2‘ hat?
* liegen die Wertebereiche vom Attribut id in den Tabellen tab1 und tab2 im gleichen Bereich?
Dabei helfen kann Dir natürlich ein Tool wie SQL-Delevoper oder Toad, das die Datenbank etwas (für den Laien) übersichtlicher bedienen kann.
MfG Georg V.
Hallo snaks42,
da Du das Statement der View ja hast (, Du hast doch vor
kurzem eine zusätzliche Spalte einegfügt) kannst Du den Grund
der leeren Ergebnismenge finden. Also wenn z.B. das Statement
lautet:SELECT *
FROM tab1 a, tab2 b
WHERE a.id=b.id
AND b.value=‚2‘Dann solltest Du zumindestens die folgenden Bedingungen
prüfen:
* hat Tabelle tab1 Datensätze?
* hat Tabelle tab2 Datensätze?
* hat Tabelle tab2 Datensätze, bei denen das Attribut value
den Wert ‚2‘ hat?
* liegen die Wertebereiche vom Attribut id in den Tabellen
tab1 und tab2 im gleichen Bereich?
Die TAbellen, die in Abhängihkeit mit View sind, enthlaten alle immer noch Daten und das finde ich komisch.
Mansche Views enthlaten immer noch Daten aber mansche nicht.
Dabei helfen kann Dir natürlich ein Tool wie SQL-Delevoper
oder Toad, das die Datenbank etwas (für den Laien)
übersichtlicher bedienen kann.
Sql Developer habe ich installiert aber ich kenne mich nicht so viel mit dem, was kann mir überhaupt bringen.
Vielen Dank
MfG Georg V.