如果可能,如何从 bash 脚本对 oracle 数据库执行 .sql 文件

a1a*_*1an 4 oracle command-line scripting

是否可以从 bash shell 命令行(例如,没有图形 GUI 和没有交互式客户端)对 oracle 数据库执行 sql 文件(包含多个 SQL 语句的文本文件)

类似于: sqlplus -f queries.sql ...

该命令应该执行querys.sql文件中的所有语句并以适当的退出代码退出(例如,如果所有查询都正确执行,则为0,否则为非零)

Phi*_*lᵀᴹ 5

在 shell 脚本中:

#!/bin/bash

sqlplus user/pass@server/DATABASE<<THEEND

-- Change "1" to the desired fatal return code

whenever sqlerror exit 1;

@yoursqlscript.sql

quit;

THEEND
Run Code Online (Sandbox Code Playgroud)

或者你可以运行:

sqlplus user/pass@server/DATABASE @yoursqlscript
Run Code Online (Sandbox Code Playgroud)

... 并将 放在whenever sqlerror exit 1;.sql 脚本的顶部。