热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在存储过程中使用dblink查询,报必须说明标识符,但该查询单独执行没问题

请教各位,谢谢!创建了一个databaselinks,名为HISDB@link1执行selectmax(a.ghrq)fromdatacenter.tb_his_mz_reg@H
请教各位,谢谢!
创建了一个database links,名为HISDB@link1
执行
select max(a.ghrq)  from datacenter.tb_his_mz_reg@HISDB@link1 a;
没问题,
但把该查询放在存现过程中,
select max(a.ghrq) into p_first_day from datacenter.tb_his_mz_reg@HISDB@link1

报编译错误

错误:PLS-00201: 必须说明标识符 'DATACENTER.TB_HIS_MZ_REG@HISDB@LINK1'
行:14
文本:select max(a.ghrq) into p_first_day from datacenter.tb_his_mz_reg@HISDB@link1 a;

错误:PL/SQL: SQL Statement ignored
行:14
文本:select max(a.ghrq) into p_first_day from datacenter.tb_his_mz_reg@HISDB@link1 a;

8 个解决方案

#1


上面有一个笔误,把该查询放在存储过程中

#2


感觉是两个@的锅

#3


引用 2 楼 baidu_36457652 的回复:
感觉是两个@的锅


在GLOBAL_NAMES设置为TRUE的情况下,要这样写,前一个@后面是global_name,后一个@后面才是link名称

#4


DBlink的名字含有@?

加双引号就可以了。

select * from "T"@"XX@YY"

注意大小写。

#5


单独运行
select max(a.ghrq)   from "TB_HIS_MZ_REG"@"HISDB@LINK1" a;
可以,存储过程中使用
select max(a.ghrq) into p_first_day from "TB_HIS_MZ_REG"@"HISDB@LINK1" a;
在PL/SQL Developer 中编译还是通不过,不认 "TB_HIS_MZ_REG"@"HISDB@LINK1"

引用 4 楼 wmxcn2000 的回复:
DBlink的名字含有@?

加双引号就可以了。

select * from "T"@"XX@YY"

注意大小写。

#6


引用 2 楼 baidu_36457652 的回复:
感觉是两个@的锅

把GLOBAL_NAMES设置为false后,@global_name不需要了,只有一个@后编译通过了。

#7


引用 6 楼 xyjnzy的回复:
Quote: 引用 2 楼 baidu_36457652 的回复:

感觉是两个@的锅

把GLOBAL_NAMES设置为false后,@global_name不需要了,只有一个@后编译通过了。

GLOBAL_NAMES设置为TRUE 好像dblink连接 也不要两个@吧,不需要加GLOBAL_NAMES的

#8


GLOBAL_NAMES设置为TRUE时,dblink连接名称要和连接数据库的GLOBAL_NAME相同,或者在任意取的连接名称前加上GLOBAL_NAME和@,这样在调用dblink时就有两个@了

引用 7 楼 baidu_36457652 的回复:
Quote: 引用 6 楼 xyjnzy的回复:
Quote: 引用 2 楼 baidu_36457652 的回复:

感觉是两个@的锅

把GLOBAL_NAMES设置为false后,@global_name不需要了,只有一个@后编译通过了。

GLOBAL_NAMES设置为TRUE 好像dblink连接 也不要两个@吧,不需要加GLOBAL_NAMES的

推荐阅读
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • 本文介绍了iOS数据库Sqlite的SQL语句分类和常见约束关键字。SQL语句分为DDL、DML和DQL三种类型,其中DDL语句用于定义、删除和修改数据表,关键字包括create、drop和alter。常见约束关键字包括if not exists、if exists、primary key、autoincrement、not null和default。此外,还介绍了常见的数据库数据类型,包括integer、text和real。 ... [详细]
  • 如何在php中将mysql查询结果赋值给变量
    本文介绍了在php中将mysql查询结果赋值给变量的方法,包括从mysql表中查询count(学号)并赋值给一个变量,以及如何将sql中查询单条结果赋值给php页面的一个变量。同时还讨论了php调用mysql查询结果到变量的方法,并提供了示例代码。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文详细介绍了MysqlDump和mysqldump进行全库备份的相关知识,包括备份命令的使用方法、my.cnf配置文件的设置、binlog日志的位置指定、增量恢复的方式以及适用于innodb引擎和myisam引擎的备份方法。对于需要进行数据库备份的用户来说,本文提供了一些有价值的参考内容。 ... [详细]
  • 本文由编程笔记小编整理,介绍了PHP中的MySQL函数库及其常用函数,包括mysql_connect、mysql_error、mysql_select_db、mysql_query、mysql_affected_row、mysql_close等。希望对读者有一定的参考价值。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • Oracle分析函数first_value()和last_value()的用法及原理
    本文介绍了Oracle分析函数first_value()和last_value()的用法和原理,以及在查询销售记录日期和部门中的应用。通过示例和解释,详细说明了first_value()和last_value()的功能和不同之处。同时,对于last_value()的结果出现不一样的情况进行了解释,并提供了理解last_value()默认统计范围的方法。该文对于使用Oracle分析函数的开发人员和数据库管理员具有参考价值。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • Oracle seg,V$TEMPSEG_USAGE与Oracle排序的关系及使用方法
    本文介绍了Oracle seg,V$TEMPSEG_USAGE与Oracle排序之间的关系,V$TEMPSEG_USAGE是V_$SORT_USAGE的同义词,通过查询dba_objects和dba_synonyms视图可以了解到它们的详细信息。同时,还探讨了V$TEMPSEG_USAGE的使用方法。 ... [详细]
author-avatar
一直都在囚禁
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有