Za pomocą poleceń SQL możemy wygenerować inne polecenia SQL, bazując na informacji ze słownika danych. Budujemy SQL z SQL, aby:
• uniknąć powtarzającego się kodowania,
• uzyskać pomocniczą informację ze słownika danych,
• odtworzyć definicje tabel, perspektyw, indeksów,
• dynamicznie generować klauzule, których treść zależy od parametrów "run-time".
Na przykład, aby wygenerować zestaw poleceń SQL*Plus tworzący opisy wszystkich tabel użytkownika, piszemy:
SELECT ' DESC ' | | TABLE_NAME
FROM USER_TABLES;
Powyższy przykład generuje następujący wynik:
DESC DEPT DESC EMP DESC SALGRADE
W celu wykonania powyższych poleceń należy je umieścić w pliku poleceń, a następnie ten plik uruchomić:
SET ECHO OFF
SET PAGES 0
SET FEEDBACK OFF SPOOL X
SELECT 'DESC ' || TABLE_NAME FROM USER_TABLES
/
SPOOL OFF START X. LIS
W powyższym przykładzie parametr PAGES jest ustawiony na 0 w celu skasowania tytułów, nagłówków kolumn i stopek. Zauważmy również, że w poleceniu START musieliśmy podać rozszerzenie "LIS", gdyż polecenie to domyślnie zakłada rozszerzenie "SQL" uruchamianego pliku.
13-30
Język definiowania danych, słownik systemowy