ITPub博客

首页 > 数据库 > Oracle > [20230329]记录调试sql语句遇到的问题.txt

[20230329]记录调试sql语句遇到的问题.txt

原创 Oracle 作者:lfree 时间:2023-03-31 09:30:52 0 删除 编辑

[20230329]记录调试sql语句遇到的问题.txt

--//调式sql语句遇到的问题,做一个记录.

1.环境:
SCOTT@book> @ver1
PORT_STRING                    VERSION        BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx            11.2.0.4.0     Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

2.测试:
SCOTT@book> select * from dept Abc where abc.dept no = 10;
    DEPTNO DNAME          LOC
---------- -------------- -------------
        10 ACCOUNTING     NEW YORK

SCOTT@book> select * from dept Abc where ABC.deptno = 10;
    DEPTNO DNAME          LOC
---------- -------------- -------------
        10 ACCOUNTING     NEW YORK
        
--//有一些工具生成的sql语句使用一大堆引号.例子:

SCOTT@book> select * from dept "Abc" where abc.deptno = 10;
select * from dept "Abc" where abc.deptno = 10
                               *
ERROR at line 1:
ORA-00904: "ABC"."DEPTNO": invalid identifier

SCOTT@book> select * from dept "Abc" where Abc.deptno = 10;
select * from dept "Abc" where Abc.deptno = 10
                               *
ERROR at line 1:
ORA-00904: "ABC"."DEPTNO": invalid identifier

--//一旦括号引起来问题来了,后面的where条件无论写成Abc.deptno = 10 还是abc.deptno = 10都是报错.
--//必须使用类似的双引号.改写如下:

SCOTT@book> select * from dept "Abc" where "Abc".deptno = 10;
    DEPTNO DNAME          LOC
---------- -------------- -------------
        10 ACCOUNTING     NEW YORK

--//今天在这个细节上浪费大量时间,真实的语句很复杂,并且对方写的别名竟然大小写混用.不知道怎样的sql语句模板生成的sql语句.

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/267265/viewspace-2942865/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
熟悉oracle相关技术,擅长sql优化,rman备份与恢复,熟悉linux shell编程。

注册时间:2008-01-03

  • 博文量
    4006
  • 访问量
    7971267