Mat*_*att 1 java oracle plsql jdbc
我熟悉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;
Run Code Online (Sandbox Code Playgroud)
SPOOL,DEFINE和SET,都是SQL*Plus命令.它们在PL/SQL或SQL中无效.因此,您不能通过SQL*Plus以外的工具(或支持SQL*Plus命令的工具,如SQL Developer或Toad)运行此类脚本.
当然,您可以让Java应用程序调用操作系统来调用SQL*Plus可执行文件(假设它安装在运行Java应用程序的机器上)并将脚本传递给SQL*Plus.但这通常比你需要的更复杂.使用SQL*Plus或仅发布SELECTJava应用程序中的语句并使用Java的文件I/O类将结果写入文件会更有意义.
| 归档时间: |
|
| 查看次数: |
2689 次 |
| 最近记录: |