大家好! 我想知道这一行是做什么的:
sqlplus -s /nolog <<EOF
有什么想法吗? 谢谢你的帮助!
答案 0 :(得分:7)
根据您在评论中提供的信息:
sqlplus -s /nolog <<EOF
在启用静默模式的情况下启动sqlplus
的实例(我相信,它不会将任何输出发送到控制台屏幕),并且没有明确提供登录(因此/nolog
),它从EOF
heredoc(可能包含登录凭证)中包含的字符串中获取输入。
Here简要介绍了Oracle sqlplus
上的文档。
答案 1 :(得分:4)
-s
静默选项:它取决于SQL * Plus标题的输出,命令提示符和命令的回显。
/nolog
启动SQL * Plus,但不登录(连接)用户/会话。
所以似乎在没有登录用户/会话(nolog选项)的情况下启动SQL * PLUS并且不显示信息(静默选项)。
答案 2 :(得分:3)
完整的摘录应该是:
sqlplus -s /nolog << ABCDE
CONNECT user/pwd@database
-- DO SQL AND PLSQL STUFF
EXIT
ABCDE
类似于运行sqlplus -s user/pwd@database @script.sql
,其中script.sql
包含sql,plsql stuff和exit命令。 <<
语法是heredoc的shell运算符,这意味着如果找到$ {variables},则所有后续行都是变量展开的,并且第一行以ABCDE
开头(在行的最开头,没有空格,没有标签)结束输入。