gpt4 book ai didi

sql - 使用 alter session 从 Linux 命令行运行 Oracle SQL 脚本

转载 作者:太空宇宙 更新时间:2023-11-04 04:56:44 25 4
gpt4 key购买 nike

我们有一个 Java 应用程序,可以远程查询目录中的所有 SQL 文件并输出 CSV 文件。如果 SQL 文件只有 SELECT 命令,那么效果很好。但是,为了获得正确格式的日期时间,我想使用 ALTER session 命令。这会在 Java 应用程序中产生错误,因为它将每个命令视为一个新文件。不幸的是,我无权访问 Java 应用程序的代码库。本质上,每个 SQL 文件如下所示:

alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss'; 

SELECT * from sample_table

有什么方法可以运行编辑 SQL 文件以作为单个执行查询运行吗?

最佳答案

alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss'; 是一条 DDL 语句。您不能将其作为 DML 语句执行。您的 Java Statement 类将无法执行此 ALTER SESSION ... 查询。

此外,如果从数据库连接的角度来看,它仅在应用它的 session 期间有效,下次它不会保持相同的值。

使用这种方法无法永久地进行此更改,有一种不同的方法,这里是题外话(我知道,因为曾经我也感觉到同样的需要,但在奋斗了几天后才知道这些事情)。

您试图实现结果的方式不正确。

将内容格式化为您希望显示日期时间的任何格式,您不需要 ALTER SESSION 命令和 SELECT 查询。

使用 to_char(yourDate, 'YYYY-MM-DD HH24:MI:SS') 作为 customDate 并尝试调整您的主要选择查询。

关于sql - 使用 alter session 从 Linux 命令行运行 Oracle SQL 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44248642/

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