Redshift 中的存储过程使用卸载的字符串替换
Posted
技术标签:
【中文标题】Redshift 中的存储过程使用卸载的字符串替换【英文标题】:Stored procedure in Redshift to use string replacement with unload 【发布时间】:2021-10-15 15:29:10 【问题描述】:我想在以下几行中实现一些目标:
create or replace procedure my_sp_name(p_date date) as
$$
begin
unload ('
select *
from my_table
where my_date = ''DATE_GOES_HERE''
')
to 's3://my-bucket/some_key/DATE_GOES_HERE/some_file'
iam_role 'my_iam_role'
allowoverwrite csv parallel off;
end ;
$$
language plpgsql;
我一直在尝试不同的事情,但是,似乎无法找到在卸载的两个部分中进行字符串替换的正确方法。这样做的正确方法是什么?
【问题讨论】:
【参考方案1】:您需要在程序中执行“SQL 语句”。请参阅:“动态 SQL”部分下的 https://docs.aws.amazon.com/redshift/latest/dg/c_PLpgSQL-statements.html。
【讨论】:
以上是关于Redshift 中的存储过程使用卸载的字符串替换的主要内容,如果未能解决你的问题,请参考以下文章
数据字符串中具有分隔符/特殊字符的 Redshift 卸载命令