【问题标题】:get parameter' s data types of a procedure获取过程参数的数据类型
【发布时间】:2013-02-13 06:34:20
【问题描述】:

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

【问题讨论】:

    标签: c# oracle select plsql


    【解决方案1】:

    我认为它可以澄清你的观点!

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

    只需使用这个来查找所有增强。如果有任何澄清,请告诉我

    【讨论】:

    • 非常感谢。我设法做到了。这就是我一直在寻找的:从 all_arguments 中选择 data_type where argument_name='PASS'
    【解决方案2】:

    all_tab_columns 用于表格。如果您想查看过程的参数,请执行以下操作:

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

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

    【讨论】:

    • 非常感谢!这很有帮助。
    【解决方案3】:

    您需要的所有信息都应在 INFORMATION_SCHEMA.PARAMETERS 视图中。

    【讨论】:

    • 非常抱歉,我看错了标签。 INFORMATION_SCHEMA 视图位于 MS SQL 服务器中,而不是 Oracle 中。希望 Dazza 给了你正确的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-15
    • 1970-01-01
    • 2021-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多