sql >> Databáze >  >> RDS >> Oracle

Chcete, aby se tento jednoduchý dotaz opakoval

Můžete to udělat pomocí 2 souborů skriptu SQL, jako je tento:

1) Soubor myscript.sql:

ACCEPT column_name CHAR PROMPT 'Please insert column name: '

SELECT DISTINCT owner, table_name
FROM all_tab_columns
WHERE column_name IN ('&column_name');

-- Ask the user if the want to search again
ACCEPT response CHAR PROMPT 'Would you like to search for another column? '

-- Use a SELECT statement to look at their response and set variable "script" as appropriate
COLUMN script new_value script

-- Stop this select's results being displayed (in SQL Plus)
SET TERM OFF

SELECT CASE LOWER('&response.') WHEN 'yes' THEN 'myscript' ELSE 'stop' END AS script
FROM DUAL;

-- Switch terminal output back on
SET TERM ON

-- Run whichever script the user chose i.e. "myscript.sql" if they said "yes", "stop.sql" if they said "no".
@&script.

2) Soubor stop.sql:

-- This script just says "Have a nice day" then ends.
PROMPT Have a nice day

V závislosti na tom, zda uživatel odpoví 'ano' nebo 'ne', se skript buď znovu spustí (zacyklí se) nebo spustí skript stop.sql, který jen říká "Přeji hezký den".




  1. Jak zajistíte, aby se hodnoty z protokolovací tabulky shodovaly s objekty v jiných tabulkách?

  2. Jak odstranit data z více tabulek?

  3. Jak odstranit trigger v oracle, který obsahuje speciální znak?

  4. Nginx - Stahování PHP místo spouštění