如何在存储过程语法中传递 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);
我正在尝试将架构名称作为存储过程语法中的变量传递(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);