当前位置: 首页 > 面试题库 >

如何在bash脚本中执行SQL?

范霄
2023-03-14
问题内容

我有一些要自动执行的SQL脚本。过去,我使用过SQL * Plus,并从bash脚本中手动调用了sqlplus二进制文件。

但是,我试图找出是否有一种方法可以连接到数据库,并从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';

然后更改bash脚本以调用sqlplus传递值

#!/bin/bash

MY_USER=bob
sqlplus <user>/<password> @file-with-sql-1.sql $MY_USER


 类似资料:
  • 问题内容: 我正在用geb进行功能测试。 我的应用程序是使用virgo部署的,并使用HSQLDB来存储数据。我想在此工作版本的应用程序上执行测试,但是每次运行webtests时,我都想从空数据库开始。 我写了一个简单的bash脚本 这将删除数据库并重新启动处女座。 但是,当我将其添加到build.gradle任务执行命令时,它永远不会结束。 为什么这样呢?当我在控制台中运行此脚本时,它会迅速返回(

  • 我试图从一个简单的BASH脚本执行一个简单的PHP脚本。这个网站上的答案不能回答我的问题。 这是我的BASH脚本 这是我的PHP脚本 从命令行运行BASH脚本时,出现以下错误。 我试过键入/usr/bin/php-q/home/username/subfolder/durable2。这很好。它跑起来了

  • 问题内容: 我使用的测试脚本包含很多命令,并且会生成大量输出,我使用或和,所以脚本会在发生错误时停止。但是,我仍然很难定位执行停止在哪一行以定位问题。有没有一种方法可以在执行每行之前输出脚本的行号?还是输出命令产生之前的行号?否则任何可以解决我的脚本行位置问题的方法都将提供很大的帮助。谢谢。 问题答案: 您提到您已经在使用。该变量表示值是设置选项时在回显命令行之前打印的提示,默认情况下为空格。 您

  • 问题内容: 假设我在网址“ http://mywebsite.com/myscript.txt”处有一个包含脚本的文件: 而且我想先运行该脚本而不先将其保存到文件中。我该怎么做呢? 现在,我已经看到了语法: 但这似乎不像我保存到文件然后执行时那样。例如,readline不起作用,而输出仅为: 同样,我尝试过: 具有相同的结果。 最初我有一个解决方案,例如: 但这似乎草率,我想要一个更优雅的解决方案

  • 问题内容: 我试图找出一种从Golang执行脚本(.sh)文件的方法。我发现了几种简单的执行命令的方法(例如os / exec),但是我要执行的是执行整个sh文件(该文件设置了变量等)。 为此,使用标准的os / exec方法似乎并不简单:尝试输入“ ./script.sh”并将脚本内容加载到字符串中都不能用作exec函数的参数。 例如,这是我要从Go执行的sh文件: 从Go程序中: 其中mong

  • 问题内容: 我有一个简单的脚本blah.py(使用Python 2): 如果我通过以下方式执行脚本: 它输出参数,但是如果我通过以下方式执行脚本: 发生错误: 因此参数不会传递给脚本。 PATH中的python.exe。路径中也包含blah.py的文件夹。 python.exe是执行* .py文件的默认程序。 问题是什么? 问题答案: 执行脚本而不在前面键入“ python”时,你需要了解有关Wi