You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过SQL查询获取AWS Redshift存储过程的输出参数元数据

在AWS Redshift中查询存储过程输出参数元数据的SQL语句

方法1:使用SQL标准的information_schema视图

这是最直观的方式,符合ANSI SQL标准,可读性强:

SELECT
    specific_name AS procedure_name,
    parameter_name,
    ordinal_position,
    parameter_mode,
    data_type
FROM
    information_schema.parameters
WHERE
    specific_schema = 'public' -- 替换为存储过程所在的Schema名称
    AND specific_name = 'your_target_procedure' -- 替换为你的存储过程名
    AND parameter_mode IN ('OUT', 'INOUT') -- 仅筛选输出/输入输出参数
ORDER BY
    ordinal_position;

方法2:使用Redshift兼容的PostgreSQL系统表

如果需要更底层的元数据信息,可以直接查询PostgreSQL兼容的系统表:

SELECT
    p.proname AS procedure_name,
    pa.parname AS parameter_name,
    pa.parn AS ordinal_position,
    CASE pa.parmode
        WHEN 'o' THEN 'OUT'
        WHEN 'b' THEN 'INOUT'
    END AS parameter_mode,
    format_type(pa.paratype, NULL) AS data_type
FROM
    pg_proc p
JOIN
    pg_namespace n ON p.pronamespace = n.oid
JOIN
    pg_param pa ON p.oid = pa.parproc
WHERE
    n.nspname = 'public' -- 替换为Schema名称
    AND p.proname = 'your_target_procedure' -- 替换为存储过程名
    AND pa.parmode IN ('o', 'b') -- 'o'=OUT, 'b'=INOUT
ORDER BY
    pa.parn;

说明

  • specific_schema/n.nspname:填写存储过程所在的Schema,默认是public
  • specific_name/p.proname:填写你要查询的存储过程名称
  • parameter_mode:OUT表示纯输出参数,INOUT表示同时支持输入输出的参数

内容的提问来源于stack exchange,提问作者Dario

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 05:49:11