gpt4 book ai didi

sql - 在 Oracle 查询中设置 FMTONLY ON

转载 作者:行者123 更新时间:2023-12-02 17:54:12 25 4
gpt4 key购买 nike

我想知道 SET FMTONLY ON 是否可以在 Oracle 查询中使用。当我这样使用时:

SET FMTONLY ON select * from department

我收到这样的消息:

Line 1: SQLPLUS Command Skipped: SET FMTONLY ON select * from department

我正在 Oracle 中寻找这样的语句

仅向客户端返回元数据以测试响应的格式,而无需实际运行查询。

编辑

谢谢......我想要所有类型的查询通用的东西,如果查询包含任何“排序依据”,那么我们无法添加它。如果它是一个插入查询,它应该只验证查询,现在我正在做回滚以验证查询(然后在运行时执行它)SET FMTONLY 帮助我在 SQL 中实现它,在 Oracle 中类似? ??.

并且“CREATE TABLE FormatTest AS (SELECT ...),然后执行 DESCRIBE FormatTest。”我没收到这个:(

感谢任何帮助。

最佳答案

根据this设置 FMTONLY 打开:

Returns only metadata to the client. Can be used to test the format of the response without actually running the query.

No rows are processed or sent to the client because of the request when SET FMTONLY is turned ON.

因此,我猜测结果是:(a) 语句成功,但什么也没有发生;或 (b) 语句失败,并引发异常。

因此,您可以通过运行 EXPLAIN PLAN FOR xxx 在 Oracle 中实现类似的效果,例如:

SQL> EXPLAIN PLAN FOR insert into baddml values (1);
explain plan for INSERT INTO baddml VALUES (1)
*
ERROR at line 1:
ORA-00942: table or view does not exist

如果语句成功,则可以假定该语句在语法上有效。

关于sql - 在 Oracle 查询中设置 FMTONLY ON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4143336/

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