Ich würde etwas Hilfe brauchen, ich versuche, eine Prozedur in ORACLE PL/SQL zu erstellen, die die Liste der instabilen Indizes aus der Tabelle dba_indexes erhalten würde und diese select-Anweisung würde auch aufbauen Anweisung zum Reparieren/Ändern des Indexes.ORACLE Prozedur, Variablen und Handhabung mit Daten
So habe ich SQL-Anweisung, die die alter-Anweisungen generiert.
SELECT 'alter index '||owner||'.'||index_name||' rebuild online; '
FROM dba_indexes
WHERE status = 'N/A';
Und der Ausgang ist:
alter index OWNER.INDEX_NAME rebuild online;
Welche perfekt ist, und das ist auch das Endergebnis dann muß ich nur noch das Verfahren erhalte korrekt zu arbeiten und alte Anweisungen ausführen, wenn es eine ist, wenn nicht nur den Vorgang beenden.
Jetzt meine Frage wäre, wie kann ich Daten von SELECT-Anweisung auf 1 Variable speichern? Danach werde ich nur überprüfen, ob die Variable NULL ist oder nicht, wenn null ich die Prozedur beende, wenn nicht null, würde ich diese Variable einfach ausführen?
Ist das möglich und wie?
Vielen Dank für Ihre Hilfe.
Holen Sie sich einfach die Anzahl von dba_indexes in eine Variable in PLSQL-Block. Wenn der Zählerstand größer als 0 ist, fahren Sie mit dem Erstellen der alter-Anweisungen fort, andernfalls exit. – hemalp108