【问题标题】:Populate Datatabase Table with timestamp using SQLPLUS inside a shell script在 shell 脚本中使用 SQLPLUS 使用时间戳填充数据库表
【发布时间】:2011-08-19 21:16:18
【问题描述】:

我想在 shell 脚本中插入数据库中文件的最后修改时间戳。我的脚本是这样的

#!/usr/bin/ksh
date=date -r /raid/file/test.txt +%d" "%b" "%Y" "% r | awk '{print $1,$2,$3,$4,$5;}'
echo ${date}
sqlplus USR/USR@PRODAR.AD.MANTO <<ENDOFSQL
INSERT INTO PROD_TABLE VALUES('$date');
exit
ENDOFSQL

我想知道如何将文件的最后修改日期分配给 shell 变量并在 sqlplus 中使用它。请注意,我正在寻找格式为 05 May 2011 08:02:27 PM 的日期 $date 目前显示为 null 并且是被插入到表中。 希望有任何相同的建议。

【问题讨论】:

    标签: oracle shell unix ksh sqlplus


    【解决方案1】:

    如果你想在你的date 变量中输出date|awk 的东西,你需要捕获它:

    date=$(date -r /raid/file/test.txt +%d" "%b" "%Y" "% r | awk '{print $1,$2,$3,$4,$5;}')
    

    应该这样做,但我已经很久没有使用ksh了。您无需访问sqlplus 中的date 变量,只需在脚本中的字符串中访问它即可。

    【讨论】:

      猜你喜欢
      • 2016-01-16
      • 2012-02-29
      • 2018-12-16
      • 2016-09-01
      • 2017-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多