gpt4 book ai didi

java - 尝试使用 Java 运行 PL/SQL 脚本

转载 作者:行者123 更新时间:2023-11-29 10:06:15 24 4
gpt4 key购买 nike

我熟悉 Java JDBC,经常使用它来运行简单的 SQL。但是,我想运行如下所示的内容。这比常规 SQL 更多的是 PL/SQL,因此我的问题。我不是从 Oracle 机器上运行它,而是从我自己的计算机上运行。有人可以帮助我使用 Java 运行这种 PL/SQL 吗?

spool C:\count.txt;
DEFINE date="TO_DATE ('08-29-2011','mm-dd-yyyy')";
SET NEWPAGE 0;
SET SPACE 0;
SET LINESIZE 500;
SET PAGESIZE 0;
SET ECHO OFF;
SET FEEDBACK OFF;
SET VERIFY OFF;
SET HEADING OFF;
SET TRIMSPOOL ON;
alter session set nls_date_format='yyyy-mm-dd hh24:mi';
select 'TABLE1', count(*) from SCHEMA.TABLE1 where modifyts < &date;
select 'TABLE2', count(*) from SCHEMA.TABLE2 where modifyts < &date;
select 'TABLE3', count(*) from SCHEMA.TABLE3 where modifyts < &date;
spool off;

最佳答案

SPOOLDEFINESET 都是 SQL*Plus 命令。它们在 PL/SQL 或 SQL 中无效。因此,您不能通过 SQL*Plus 以外的工具(或支持 SQL*Plus 命令的工具,如 SQL Developer 或 Toad)运行此类脚本。

当然,您可以让 Java 应用程序调用操作系统来调用 SQL*Plus 可执行文件(假设它安装在运行 Java 应用程序的机器上)并将脚本传递给 SQL*Plus .但这通常比您需要的复杂得多。仅使用 SQL*Plus 或仅从您的 Java 应用程序发出 SELECT 语句并使用 Java 的文件 I/O 类将结果写入文件会更有意义。

关于java - 尝试使用 Java 运行 PL/SQL 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7338311/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com