sql >> データベース >  >> RDS >> Oracle

この単純なクエリをループさせたい

    これは、次のような2つのSQLスクリプトファイルで実行できます。

    1)ファイル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)ファイルstop.sql:

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

    ユーザーが「yes」または「no」と応答したかどうかに応じて、スクリプトはそれ自体を再度実行する(ループする)か、「Haveaniceday」とだけ言うstop.sqlスクリプトを実行します。




    1. mySQLCASTおよびASC/DESC

    2. SQL:要約された値で行を挿入します

    3. この左結合が1つのレコードのみを返すのはなぜですか?

    4. PHP MySQL-6行ごとにdivを挿入しますか?