可以找出块内游标或变量的列的数据类型without使用系统表?虽然我知道我可以使用系统表来查找此信息,但速度会慢很多。
就像是,
declare
my_column_data_type varchar2(30);
begin
my_column_data_type := all_tables.table_name%type;
dbms_output.put_line(my_column_data_type);
end;
我找不到任何方法来做到这一点而不求助于dbms_sql
,这对于我的最终目的来说太过分了。
但是,甲骨文已经掌握了所有信息。如果我尝试分配一个varchar2
to a number
然后它会立即抱怨,以便它知道数据类型是什么。
而且,是的,我知道 Oracle 的版本数量很荒谬,但这就是我们目前拥有的数量……9i 很快就会消亡,取而代之的是 11,但如果我能找到答案,这段代码将立即在 9i 上运行!但我包括了 11 个,因为如果需要的话我可以等待更好的解决方案,
Use the dump http://docs.oracle.com/cd/B10501_01/server.920/a96540/functions38a.htm#77280函数并将结果与this http://docs.oracle.com/cd/B10501_01/server.920/a96540/sql_elements2a.htm#45504 code.
DUMP 返回一个 VARCHAR2 值,其中包含数据类型代码、字节长度以及 expr 的内部表示形式。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)