如何在存储过程语法中传递 schema_name_variable "call <<schema_name_variable>>.storedproceduretask()

how to pass schema_name_variable in stored procedure syntax "call <<schema_name_variable>>.storedproceduretask()

我正在尝试将架构名称作为存储过程语法中的变量传递(CALL schema_name_var.sp_master_procedure();-> 下面给出完整代码)。但是当我尝试在 redshift 中 运行 时,这段代码失败了。有人可以提供有关如何实现此目标的解决方案吗?

CREATE OR REPLACE PROCEDURE master_work_se.sp_master_table_automation()
    LANGUAGE plpgsql
    AS '
    DECLARE
      schema_name_var nvarchar(max) = 'master_work_se';

        BEGIN
          CALL schema_name_var.sp_master_procedure();
        END;

    END;
    ';

你需要动态 SQL:

EXECUTE format('CALL %I.sp_master_procedure()', schema_name_var);