日期:2014-05-17  浏览次数:20941 次

sqlplus中执行存储过程和oracle查表的问题
问题一:
sqlplus下执行1.sql这个存储过程的时候,出现下面的现象
SQL> @1.sql;
 27  
 28  
 29  
 30  
 31  
 32  
 33  
 34 
回车一直是往上叠加的数字,这是什么问题,要如何解决?
问题二:
查表user_tab_cols的table_name字段出现下面的字符,表名就是几个简单的英文字母,怎么会变成这么一串字符呢?而且我把sql语句写成select * from user_tab_cols where table_name ='t_a';的时候居然查不到,这是什么原因,怎么解决呢?
SQL> select table_name,column_name from user_tab_cols where rownum<4;
 
TABLE_NAME                     COLUMN_NAME
------------------------------ ------------------------------
BIN$s1ZccbfhB+LgQIIKoG4GGg==$0 机构号
BIN$s1ZccbfhB+LgQIIKoG4GGg==$0 姓名
BIN$s1ZccbfhB+LgQIIKoG4GGg==$0 性别
------最佳解决方案--------------------


2 select * from user_tab_cols where table_name ='t_a';
  当然查不到,除非你建表时候加了双引号加小写字母create table "t_a"
  select * from user_tab_cols where table_name ='永远用大写';
 
  你的表已经删除了
  flashback table t_a to before drop;
------其他解决方案--------------------
代码中缺少'/' 结束符
------其他解决方案--------------------
说明你的 @1.sql 里面代码没有正确结束!
------其他解决方案--------------------
问题二:

-- 以“BIN$”字符串开头的表是已经删除的表,此时,这个表还在你的回收站,是可以闪回(恢复)回去的!

-- Oracle 有个回收站的机制:当你删除一张表时,Oracle会尽量的先将其放入回收站,等一阵时间后,
-- Oracle会自动将其清除。这也就给你的误操作的恢复留有余地!

------其他解决方案--------------------
引用:
代码中缺少'/' 结束符

真的少了,跪拜,太感谢了。
------其他解决方案--------------------
不客气哈..
我的异常网推荐解决方案:oracle存储过程,http://www.aiyiweb.com/oracle-develop/177537.html