2013-02-27 61 views
1

我有我的数据库在C#中的所有我的程序列表。我需要获取每个参数的数据类型。例如,我有一个名为insertmd的过程,其参数为:name,age。如何从仅显示参数名称的all_tab_columns中进行选择,如下所示:varchar2?获取参数的一个过程的数据类型

回答

3

all_tab_columns用于表格。如果你想看到一个过程的参数,然后做:

select * 
    from all_arguments 
where data_type = 'VARCHAR2' 
    and object_name ='INSERTMD' 
    and owner = 'YOURSCHEMA'; 

假设INSERTMD是一个独立的程序/函数。如果它在一个包中,那么也过滤package_name

+1

非常感谢!这非常有帮助。 – Viva 2013-02-28 10:39:33

2

您需要的所有信息应该位于INFORMATION_SCHEMA.PARAMETERS视图中。

+0

在我们的11g数据库没有这样的架构。 ??? – 2013-02-27 12:49:24

+1

非常抱歉,我误读了标签。 INFORMATION_SCHEMA视图位于MS SQL服务器中,而不是Oracle。希望Dazza给了你正确的答案。 – 2013-02-27 13:27:05

3

我认为它可能会澄清你的看法!

select ua.argument_name,ua.data_type,ua.object_name 
    from user_arguments ua; 

只是用于查找所有augments.if任何澄清这个请让我知道

+0

非常感谢。我设法做到了。这是我正在寻找的:从all_arguments中选择data_type,其中argument_name ='PASS' – Viva 2013-02-28 10:38:26