首页
技术基础
备份恢复
SQL优化
诊断案例
BLOG
留言板
服务
生活
网摘
阅读
下载
墨天轮
English
eygle.com - 留言簿 - 回复留言 - Powered by eYgLe.Com
返回留言簿
回 复 留 言
留言ID:
留言原文:
To
:
11g( 11.2.0.1.0)的A和B两个DB,B的procedure通过db_link参考A的table,当A table add column后,B的procedure相应也增加了这个column,但无法编译成功。需B DB执行flush shared_pool后才能编译成功。
请问有遇到过或要怎样解决?谢谢。
1)A DB:
ADB>CREATE TABLE T1 (C1 NUMBER);
表已创建。
2)B DB
BDB>CREATE OR REPLACE PROCEDURE SP_T1 IS
2LV_C1 NUMBER;
3BEGIN
4SELECT C1 INTO LV_C1 FROM T1@ADB;
5* END;
6/
过程已创建。
3)ADB>ALTER TABLE T1 ADD C2 NUMBER;
表已更改。
4)BDB>CREATE OR REPLACE PROCEDURE SP_T1 IS
2LV_C1 NUMBER;
3LV_C2 NUMBER;
4BEGIN
5SELECT C1,C2 INTO LV_C1,LV_C2 FROM T1@ADB;
6* END;
SQL> /
警告: 创建的过程带有编译错误。
SQL> SHOW ERR
PROCEDURE SP_T1 出现错误:
LINE/COL ERROR
-------- -----------------------------------------------------------------
5/1PL/SQL: SQL Statement ignored
5/11 PL/SQL: ORA-00904: "C2": 标识符无效
SQL> ALTER PROCEDURE SP_T1 COMPILE;
警告: 更改的过程带有编译错误。
SQL> ALTER SYSTEM FLUSH SHARED_POOL;
系统已更改。
SQL> ALTER PROCEDURE SP_T1 COMPILE;
过程已更改。
From
:
yoyo
2013.02.15 20:15
管理密码:
请输入管理密码, 否则无法回复.
斑竹昵称:
信息图标: ( 随机 )
BB 代码:
字体
宋体
黑体
隶书
楷体
幼圆
Arial
颜色
天蓝
品蓝
蓝色
深蓝
橙色
橙红
深红
红色
砖红
暗红
绿色
灰绿
海绿
粉红
果红
桃红
紫色
紫蓝
棕木
沙褐
土黄
深褐
土绿
灰色
大小
1号
2号
3号
4号
5号
内容:
如果想删除回复, 请点击最下面的删除回复按钮.
删 除 回 复
管理密码:
请输入管理员密码, 只有版主才能删除回复.
Copyright © 2003~2012
eygle.com
All Rights Reserved.
Powered by:
www.eygle.com