繁体   English   中英

从Oracle 11g将SQL查询返回到Shell脚本?

[英]Return a SQL Query into a shell script from oracle 11g?

我正在编写一个脚本,该脚本允许用户从菜单中选择一个选项(已完成),然后从存储在oracle11g中的数据库中返回。

pause(){
  read -p "Press [Enter Key To Continue]"
}

connect(){
export LD_LIBRARY_PATH=/usr/lib/oracle/12.1/client64/lib
sqlplus64 '******@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=oracle.***********)(Port=****))(CONNECT_DATA=(*******)))'
}


show_menu() {
  clear
  echo "~~~~~~~~~~~~~~~~~~"
  echo " M A I N - M E N U"
  echo "~~~~~~~~~~~~~~~~~~"
  echo "1. Connect to Database"
  echo "2. Query Table"
  echo "3. Exit"
  echo "_____________________"

}

one() {
  connect
  pause
}

我在代码段中使用星号来保存一些个人信息。 我的问题是,例如,如何使用户选择2并返回数据库?

SELECT * FROM *

直接回到命令行? 这比我想象的难得多吗? connect()函数允许我登录数据库服务器,但是我需要手动输入密码,然后登录到oracle,直到关闭脚本。

您可以在shell中按以下方式执行它

OUTPUT=/path/to/sqlplus64 user/password\@sid << EOF
select * from table;
EOF

echo $OUTPUT;

您可以将查询替换为从用户那里获得的内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM