首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >ORA-44002函数体上的无效对象名称

ORA-44002函数体上的无效对象名称
EN

Stack Overflow用户
提问于 2020-11-26 09:33:21
回答 2查看 79关注 0票数 0
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
DECLARE 
      X VARCHAR2(32767);
    BEGIN
      X := '
      SELECT to_char(days.n, ''DD/MM/YYYY HH24'') as name,
             NVL(ROUND(AVG(s1.HIGH),2),-1) HIGH
      FROM  (SELECT TO_DATE('''||:P8_DATE_DEBUT||''', ''DD/MM/YYYYHH24'')+(level-1)/TO_NUMBER('''||:P8_ECHELLE||''') as n
             FROM   dual
             CONNECT BY level <= TO_DATE('''||:P8_DATE_FIN||''', ''DD/MM/YYYYHH24'')+1-TO_DATE('''||:P8_DATE_DEBUT||''', ''DD/MM/YYYYHH24''))*TO_NUMBER('''||:P8_ECHELLE||''')      
            ) days
            LEFT OUTER JOIN
            (SELECT trunc(RAW_DATE, '''||:P8_TRUNC||''') as HO,
                    NVL(ROUND(AVG(VALID_VALUE),2), 0) as HIGH
             FROM  '||
                   dbms_assert.sql_object_name('SAFEGE.MSR_'||NVL(:P8_ECHELLE_EMMA,'4245')) -- NVL better than COALESCE for a simple Null check
                   ||'@EMMASAFE.NTSIVOA'
                   ||'
             WHERE RAW_DATE >= TO_DATE('''||:P8_DATE_DEBUT||''', ''DD/MM/YYYY'')  -- avoiding BETWEEN means less messing about with time components
             AND   RAW_DATE <  TO_DATE('''||:P8_DATE_FIN||''', ''DD/MM/YYYY'')+1  -- just need to use less than target date+1 instead
             AND   VALIDITY = 1
             GROUP BY trunc(RAW_DATE, '''||:P8_TRUNC||''') 
            ) s1
            ON days.n = S1.HO
      GROUP BY days.n
      ORDER BY days.n';
      RETURN X;
    END;

我在这个函数体上得到了一个无效的对象名错误。我找不到出现此错误的行。有关于如何解决这个语法错误的想法吗?

向您致敬,克里斯蒂安

EN

回答 2

Stack Overflow用户

发布于 2020-11-26 10:14:22

就是这一行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
dbms_assert.sql_object_name('SAFEGE.MSR_'||NVL(:P8_ECHELLE_EMMA,'4245'))

DBMS_ASSERT.SQL_OBJECT_NAME function documentation声明:

SQL此函数用于验证输入参数字符串是否为现有

对象的限定SQL标识符。

您断言该对象存在,但在断言外部将其与跨越数据库链接的@EMMASAFE.NTSIVOA连接起来。正在运行查询的服务器不能断言对象名有效,因为该服务器上可能不存在该对象名(而是远程服务器上存在)。

db<>fiddle

票数 1
EN

Stack Overflow用户

发布于 2020-11-27 13:28:34

我已经删除了这个函数。但是现在我得到的ORA-00907在第8行缺少右括号:

FROM (SELECT DATE(‘|:p8_TO_DATE_TO_DATE||’,''DD/MM/YYYYHH24'')+(level-1)/TO_NUMBER('''||:P8_ECHELLE||''') as n FROM dual

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65019331

复制
相关文章
python-函数的对象、函数嵌套、名称
内存存储变量名与变量间的绑定关系的空间(存放变量名的空间),这个空间被称为名称空间。
py3study
2020/01/15
2.3K0
Oracle 无效对象查询,编译无效对象
查看当前无效对象 select * from dba_objects t where t.status = 'INVALID' order by 1; 编译无效对象: 有两种方式: 1、执行sql查询结果: select 'alter '||object_type||' '||owner||'.'||object_name||' compile;' from dba_objects t where t.status = 'INVALID' order by 1; 2、脚本编译: sqlplu
Lucifer三思而后行
2021/09/22
3K0
Python入门之函数的嵌套/名称空间/作用域/函数对象/闭包函数
本篇目录:     一、函数嵌套     二、函数名称空间与作用域     三、函数对象     四、闭包函数 ============================================================================== 一、函数嵌套 1. 函数的嵌套调用 函数内又调用了其他函数(函数平级) def max(x,y): return x if x > y else y def max4(a,b,c,d): res1=max(a,b)
Jetpropelledsnake21
2018/05/02
1.3K0
Python入门之函数的嵌套/名称空间/作用域/函数对象/闭包函数
(火狐)Selenium WebDriver测试 NotADirectoryError: [WinError 267] 目录名称无效。
驱动下载地址:https://github.com/mozilla/geckodriver/releases/tag/v0.26.0 http://ftp.mozilla.org/pub/firefox/releases/
kirin
2020/10/16
4.2K0
js中Array.prototype.find() 方法在对象数组上无效果,捉急。。
我在使用Array.prototype.find() 方法时,发现在对象数组上没有正确返回,过程如下:
zhanyd
2022/05/16
8040
js中Array.prototype.find() 方法在对象数组上无效果,捉急。。
java构造函数方法声明无效_如何构造函数
Java构造函数,也叫构造方法,是JAVA中一种特殊的函数。与函数名相同,无返回值。
全栈程序员站长
2022/10/05
1.7K0
【C 语言】结构体 ( 结构体作为函数参数 | 结构体指针作为函数参数 )
结构体变量 作为函数形参 , 在函数中 , 只能访问 该函数形参 , 无法修改 结构体内存 的值 ;
韩曙亮
2023/03/29
3.6K0
【C 语言】结构体 ( 结构体作为函数参数 | 结构体指针作为函数参数 )
结构体作为函数的参数
> 只要结构体成员是一个具有单个值的数据类型,便可把它作为参数传递给接受该特定类型的函数。 > 使用这种方式为函数传递参数与普通变量作为参数相同,都是以传值的方式传递的。
怪兽
2022/12/31
2.1K0
函数和结构体
函数声明和使用 .h文件用来声明函数 .cpp文件用来函数实现 例如:如何交换a和b的值 sawp.h void swap(int a, int b); sawp.cpp #include <iostream> #include "swap.h" using namespace std; void swap(int a, int b) { int temp = a; a = b; b = temp; cout << "a:" << a << endl; co
是小张啊喂
2022/08/18
3670
解决innerHtml 在Jquery上使用无效果的问题
**innerHTML是JavaScript原生的一种写法,给指定标签赋内容(并且若内容中有HTML标签,可以进行编译后显示,例:
用户9131103
2023/07/17
4360
用Python抓取在Github上的组织名称
我想在我的个人网站上展现我在Github上提交代码的组织名称,并且不用我手动更新提交记录的变化。Github提供了读取数据的API,但是,不能体现出我想一些开发组织提交的代码。这就是我之所以要爬取那些信息的原因。本文的代码仓库:https://github.com/DahlitzFlorian
老齐
2020/05/15
1.7K0
用Python抓取在Github上的组织名称
win7上ModifyStyleEx无效的解决办法
创建窗口时,指定窗口样式为WS_EX_TOOLWINDOW;创建完成之后,还要通过以下语句进一步修改窗口属性:
全栈程序员站长
2022/09/07
4560
如何在 Git 上更改分支名称?
在 Git 版本控制系统中,分支是非常重要的概念。分支允许你在项目中进行并行开发和实验,同时保持主分支的稳定性。有时候,你可能需要更改已存在的分支名称,例如纠正拼写错误或者为了更好地描述分支的内容。本文将详细介绍如何在 Git 上更改分支名称。
网络技术联盟站
2023/06/19
1.9K0
如何在 Git 上更改分支名称?
函数对象
函数是第一类对象,即函数可以被当做数据处理。 def func(): print('from func') print(func) <function func at 0x10af72f2
py3study
2020/01/15
5660
函数对象
概念: 重载调用函数操作符的类,其对象称为函数对象 函数对象使用重载()时,行为类似函数调用,也叫仿函数 函数对象本质是一个类,不是一个函数 函数对象使用: features: 1.函数对象
大忽悠爱学习
2021/03/02
2830
函数对象
函数 (二) 名称空间与作用域
一、什么是名称空间 我们写一段代码,里面肯定会定义一些变量名,函数名,而一旦我们运行代码,python解释器在加载这些代码的时候,会在内存中开辟一片空间专门用来存放这些名字以及这些名字所绑定的值的关系, 这块内存就被称为名称空间。 二、名称空间分类 名称空间分为三种: △内置名称空间   内置名称空间是用来存放python解释器的一些内置方法明以及变量名的。这些名称是在解释器启动的时候就加载好的,我们随时可以调用。比如常见的 print( )、input( )、len( )等都是内置方法,我们在写代码的时候
人生不如戏
2018/04/12
8090
win10 uwp 应用包上传失败无效的软件包系列名称
在 2021 的时候,微软为了解决开发者不小心将应用商店证书上传到 GitHub 而不再提供应用商店证书文件下载到代码文件夹里面,因此日常开发中将会使用自己本地创建的证书。但是在实际准备发布的时候,如果没有切换证书,那么将会使用本地创建的证书进行打包,而在上传应用商店步骤失败
林德熙
2021/03/24
1.2K0
【Python】函数 ① ( 函数定义语法 | 函数名称 | 函数参数 | 函数返回值 | 函数示例 )
Python 中的 函数 指的是 提前写好的 , 可重复使用的 , 实现特定功能 的 代码块 ;
韩曙亮
2023/10/11
2520
Java-Launcher类上打断点无效的案例解读
 内建于 JVM 中的启动类加载器(Bootstrap Class Loader)会加载 java.lang.ClassLoder 以及其他 Java 平台类,Launcher 类由此被启动类加载器加载和初始化,因为 Launcer 的静态代码会产生一个 Luancher 实例,继而又会产生了一对 Extension Class Loader 和 Application Class Loader 实例。
Fisherman渔夫
2020/02/25
1.4K0
点击加载更多

相似问题

请在包体上无效使用类型名称或子类型名称。

11

DVSYS对象(包体)无效

12

响应体上的无效字符

12

关闭体上的无效读取

10

FluentNHibernate: SaveOrUpdate上的对象名称无效

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文