Oracle

使用 SQL*Plus 創建動態文件夾

  • February 3, 2019

我需要在 Linux 中創建帶有來自 SQL*Plus 的日期戳的目錄。是否有可以在 *.sql 文件中執行的命令來創建具有目前日期的目錄?

您要查找的 SQL*Plus 命令是host. 它允許你執行 Linux shell 命令,所以

host mkdir $(date +%F);

根據需要調整日期格式(man date將幫助您)。

正如我已經說過的,您正在嘗試解決錯誤的問題。所以在這裡,使用腳本:

[oracle@o71 ~]$ ls -l
total 4
-rwxr-xr-x. 1 oracle oinstall 129 Feb  3 12:35 script.sh
[oracle@o71 ~]$ cat script.sh
export SPOOLDIR=$(date +%F)
mkdir $SPOOLDIR
sqlplus -S / as sysdba <<EOF
spool $SPOOLDIR/output.txt
select * from dual;
exit
EOF
[oracle@o71 ~]$ ./script.sh

D
-
X

[oracle@o71 ~]$ ls -l
total 4
drwxr-xr-x. 2 oracle oinstall  24 Feb  3 12:35 2019-02-03
-rwxr-xr-x. 1 oracle oinstall 129 Feb  3 12:35 script.sh
[oracle@o71 ~]$ ls -l 2019-02-03/
total 4
-rw-r--r--. 1 oracle oinstall 245 Feb  3 12:35 output.txt
[oracle@o71 ~]$ cat 2019-02-03/output.txt

D
-
X

[oracle@o71 ~]$

引用自:https://dba.stackexchange.com/questions/228728