Shell 脚本自动 运行 PL/SQL

Shell script to automatically run PL/SQL

我有 PL/SQL 个脚本,我被要求使用 shell 个脚本自动制作它们 运行。问题是我不知道该怎么做,所以如果有任何方法可以帮助我做到这一点,我将不胜感激。

我尝试学习基础知识,但它离我需要的还很远:

output="$(sqlplus -S user/pw@//ip:1521/db <<ENDOFSQL
set serveroutput on;
DECLARE
    v_return PLS_INTEGER;
BEGIN

    DBMS_OUTPUT.PUT_LINE(v_return);
END;
exit;
ENDOFSQL)"

echo $output 

I was asked to make them run automatically using shell scripts

首先,您为什么担心数据库级别的脚本自动化。您可以简单地将其安排为 cron 作业OS 级别。

您还可以使用 DBMS_SCHEDULERDBMS_JOB 在数据库级别安排它,以适用于您的数据库版本为准。

你可以这样做:

sqlplus -S user/pw@//ip:1521/db <<ENDOFSQL
set serveroutput on;
DECLARE
    v_return PLS_INTEGER;
BEGIN

    DBMS_OUTPUT.PUT_LINE('Hello World');
END;
.
/

ENDOFSQL

如果您要做的只是事后回显输出,则无需在变量中捕获输出。