谁能帮菜鸟说说 SQLPLus 里面用 'run$sql:aaa.sql' 是什么意思

humanity 2013-05-29 11:20:03
现在有段脚本,我有 QRPT1012X.SQL 文件,我知道它想先跑脚本,再出报表。前面的 $SQLPLUS, $RUNREP 都是直接写在 SQL 中的 SQLPLUS 调用操作系统的命令的方法,
但我有个问题这个 QRTP1012X.SQL 为什么需要前缀 run$sql,
同样为什么 $PRINT 那行 需要把 RUN$PRN:QRPT1012X.PRN 前面.
$RUNREP 那行前面也 run$rep.

看上去,似乎 RUN$PRN 后面的文件一定是 PRN 扩展名, run$sql 后面的文件一定是 sql 扩展名,这个是 SQLPlus 的特别处理还是操作系统的特别处理,我不熟悉 Linux 或其它的 xNux 里面有什么把这个 run$sql 做特殊处理的。

我也不知道这段脚本是运行在什么类型的 Unix 或 Linux 上面的。

你们说说默认的操作系统有这个对参数嵌入式的处理吗?我只听说过 `echo xx` 这样的写法。
如果操作系统本身没这功能,那是不是这个 SQLPLUS 这个 shell 脚本对每个加了这个的前缀的参数都执行了某种替换操作?


$SQLPLUS MAN/ANDSONMAN@BMXPRO.WORLD @run$sql:QRPT1012X.SQL
$RUNREP run$rep:QRPT1012X.REP SYSTEM/MANAGER@BMXPRO.WORLD BATCH=YES
$PRINT RUN$PRN:QRPT1012X.PRN/QUE=LTA4
$EXIT

另外一个样例,是个 SQL文件的内容。
$SQLLOAD userid=test/test@test.world control=RUN$CTL:load_qtr.ctl

...全文
142 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
humanity 2013-09-10
  • 打赏
  • 举报
回复
因为这些脚本里面并没有提供 SQL 和 REP目录,因此现在我猜想, 可能那个操作系统上已经有一些批处理程序名字就叫 $SQLPLUS , $RUNREP, $PRINT, 它会把后面参数中的 run$sql 和 run$rep 替换成 SQL 和 REP 文件所在的目录,这个目录是在一个类似 ini 文件里面配置的。 如果 $SQLPLUS 是一个合法的 Unix/Linux 文件名,那可能这种猜想就合理。
vanjayhsu 2013-05-29
  • 打赏
  • 举报
回复
run$sql:QRPT1012X.SQL--这些可能都是文件名

17,138

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧