我有一些SQL脚本,我试图自动化。在过去,我使用了SQL * Plus,并通过bash脚本手动调用了sqlplus二进制文件。如何从bash脚本中执行SQL?
但是,我想弄清楚是否有办法连接到数据库,并从bash脚本内调用脚本...以便我可以插入date
并使查询运行相对于过去的某些天数。
我有一些SQL脚本,我试图自动化。在过去,我使用了SQL * Plus,并通过bash脚本手动调用了sqlplus二进制文件。如何从bash脚本中执行SQL?
但是,我想弄清楚是否有办法连接到数据库,并从bash脚本内调用脚本...以便我可以插入date
并使查询运行相对于过去的某些天数。
我有些困惑。你应该可以在bash脚本中调用sqlplus。这可能是你与你的第一条语句
请尝试执行你的bash脚本中的以下在做什么:
#!/bin/bash
echo Start Executing SQL commands
sqlplus <user>/<password> @file-with-sql-1.sql
sqlplus <user>/<password> @file-with-sql-2.sql
如果您希望能够将数据传递到您的脚本,你可以通过的SQLPlus做传递参数到脚本:中文件与-SQL 1.SQL
select * from users where username='&1';
然后CH
内容安格在bash脚本sqlplus中传递价值
#!/bin/bash
MY_USER=bob
sqlplus <user>/<password> @file-with-sql-1.sql $MY_USER
由于猛砸没有内置在SQL数据库连接调用......你需要使用某种第三方工具。
这里是bash的运行MySQL查询壳
mysql -u [database_username] -p [database_password] -D [database_name] -e "SELECT * FROM [table_name]"
op为使用Oracle。 – 2009-09-23 18:52:46
这不是oracle。 – 2017-07-11 07:33:28
也许你可以管SQL查询到sqlplus中的一个简单的方法。它的工作原理为MySQL:
echo "SELECT * FROM table" | mysql --user=username database
您还可以使用“立即文档”做同样的事情:
VARIABLE=SOMEVALUE
sqlplus connectioninfo << HERE
start file1.sql
start file2.sql $VARIABLE
quit
HERE
的sqlplus _is_说,“第三方工具” – michael 2013-08-12 04:56:04