Sqlplus可以将文件内容读取到变量中吗?

2023-11-27

我已经修改 sqlplus 一段时间了,我已经设法让 sqlplus 将文件的内容读入替换变量,如下所示:

exit | sqlplus -s login/pass@db @script.sql "`cat file.txt`"

这主要按照我的脚本要求工作...甚至文件中的换行符也被保留。但是,我仅使用大小为 50 或 60 字节的示例文件。我最终使用的实际文件至少有几千字节。因此,此时我决定检查替换变量的最大大小:240 个字符。

我的 sqlplus 脚本中有没有办法将文件的内容读入绑定变量? Oracle 文档似乎用 GET 命令暗示了这一点,说通常您将使用它来加载 sql/sqlplus 脚本。

http://docs.oracle.com/cd/B10501_01/server.920/a90842/ch13.htm#1009882

file_name[.ext] 表示您要加载的文件(通常是脚本)。


是的,有一个棘手的方法可以做到这一点。 把东西放进去道具.txt并运行脚本:

DECLARE
  -- the @@ expression must be in separate line as follows
  file_contents VARCHAR2(32767) := '
@@props.txt
';
BEGIN 
  dbms_output.put_line('===');
  dbms_output.put_line(file_contents);
  dbms_output.put_line('===');
END;
/

请注意该文件props.txt不能包含“@”,否则会嵌套 SQL*PLUS 调用

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Sqlplus可以将文件内容读取到变量中吗? 的相关文章

随机推荐

  • Stargazer 中的 p 值不精确

    我希望观星者的回归输出中的星星与 正常输出 中的星星相同 我产生数据 library stargazer library lmtest library sandwich set seed 1234 df lt data frame y 10
  • Visual Studio 在调试时锁定文件

    我有一个包含多个项目的 VS 解决方案 在调试特定项目时 VS 会锁定所有源文件 我想解锁调试者不依赖的源 有没有办法在一个解决方案中做到这一点 UPDATE 我使用的是 Win XP SP3 32 位 Visual Studio 2010
  • 为什么 $hash.key 语法在 ExpandString 方法中不起作用?

    以下 Powershell 脚本演示了该问题 hash a 1 b 2 Write Host hash a gt 1 Write Host hash a gt 1 Two ways of printing using quoted stri
  • 在打字稿函数中声明“this”的类型?

    我正在写一个繁重任务在打字稿中 我正在尝试翻译 JavaScript 中已有的内容 因此 当 grunt 运行一个任务时 它会运行一个函数 当它运行时 grunt 设置this具有有用属性的对象 与 jQuery 重载的方式相同this与您
  • 在分配控制台之前调用 Console.WriteLine

    我最近在我的应用程序中遇到了以下问题 它没有显示任何控制台输出 尽管控制台已通过使用分配AllocConsole 我很快就发现这是由于尝试 隐藏在代码中 在执行之前写入控制台而引起的 AllocConsole被称为 所以它看起来像这样 Co
  • 如何开发人脸识别iPhone应用程序? [关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我正在尝试开发一款用于人脸识别 检测的 iPhone 在我的应用程序中 我想让我的 iP
  • 快速按下 Xcode 按钮时快速播放声音的最佳方法是什么?

    我有一个音板 它只是一个带有大约 8 个按钮的屏幕 每个单独的按钮都有自己的声音 按下按钮时会播放该声音 我可以通过多种方式播放声音 例如使用 SystemSound 或 AVAudioPlayer 到目前为止 系统声音似乎具有最快的响应时
  • MPI:阻塞与非阻塞

    我无法理解 MPI 中阻塞通信和非阻塞通信的概念 两者有何区别 有什么优点和缺点 阻止通信是使用完成的MPI Send and MPI Recv 在通信完成之前 这些函数不会返回 即 它们会阻塞 稍微简化一下 这意味着缓冲区传递给MPI S
  • 免受自由的保护

    刚刚在我们的应用程序上尝试了 Freedom 应用程序 我可以用它购买所有应用程序内购买项目 至少在运行 Play Store 3 x 时是这样 如果我将 Play 商店升级到 4 x 那么 Freedom hack 就会停止工作 无论如何
  • 在对象上调用 getter 与将其存储为局部变量(内存占用、性能)

    在下面的代码中我们进行调用listType getDescription twice for ListType listType this listTypeManager getSelectableListTypes if listType
  • spring-boot + tomcat RewriteValve

    是否可以以某种方式自定义嵌入式 tomcat重写阀 正如我所看到的api目前只有以下方法添加上下文阀 and 添加发动机阀门但正如 Tomcat 在文档中指出的那样 RewriteValve 应该放置在 Host 中或 web 应用程序的
  • Python 中确定特定函数是否在堆栈上的有效方法

    对于调试来说 判断特定函数是否位于调用堆栈的较高位置通常很有用 例如 我们通常只想在某个函数调用我们时运行调试代码 一种解决方案是检查上方的所有堆栈条目 但如果这是在堆栈深处并重复调用的函数中 这会导致过多的开销 问题是找到一种方法 使我们
  • java在哪里寻找文件?

    我正在尝试用java读取文件 Public class Test public static void main String args throws IOException BufferedReader f new BufferedRea
  • 将 Nhibernate 查询转换为通用列表时出错

    我有一个简单的实体称为EmployeeEntity有属性ID Name Age Organisation and Designation 我只是使用查询来查询数据库 IQuery query session CreateQuery sele
  • 忽略 Powershell Invoke-RestMethod 中的自签名证书不起作用(又变了......)

    使用忽略证书验证的标准解决方案后 Invoke RestMethod正在返回 Invoke RestMethod A system error occurred and has been logged Please try again la
  • Matlab - 如何替换向量中的所有特殊字符?

    是否可以通过正则表达式替换matlab向量中的所有特殊字符 谢谢 EDIT 谢谢你的回复 我正在努力实现以下目标 我有一个文本文件 其中包含小说中的几个段落 我已将此文件读入向量 fileText Token1 token 2 token
  • 静态对象的私有析构函数是如何调用的? [复制]

    这个问题在这里已经有答案了 可能的重复 无法访问单例类析构函数中的私有成员 我正在实现一个单例 如下所示 class A public static A instance private A void cout lt lt In the c
  • 为什么需要将 ~/.rbenv/bin 添加到我的路径中?

    我读到rbenv 无法更改全局 ruby 版本我需要添加 rbenv bin到我的 PATH 以便 rbenv 工作 文中也提到了这一点rbenv 文档但该目录不存在 如下所示 ls a rbenv plugins shims versio
  • .NET 反射:检测 IEnumerable

    我正在尝试检测 Type 对象的特定实例是否是通用的 IEnumerable 我能想到的最好的办法是 theType might be typeof IEnumerable
  • Sqlplus可以将文件内容读取到变量中吗?

    我已经修改 sqlplus 一段时间了 我已经设法让 sqlplus 将文件的内容读入替换变量 如下所示 exit sqlplus s login pass db script sql cat file txt 这主要按照我的脚本要求工作