如何使用雪花脚本编写复制语句?

How to write copy statement using snowflake scripting?

我正在尝试在雪花脚本中编写复制语句。我的复制语句在存储过程之外工作正常。当我将复制语句放入存储过程时,它不起作用。 这太奇怪了。请问有人可以帮我解决这个问题吗?

create or replace procedure sp_demo_load(sysdate varchar)
returns varchar not null
language sql
as
$$
begin
    copy into stg.tb_demo_input (name, id, address)
    from @stg.demo_stage/DEMO.20220427.psv.gz 
        file_format = (format_name = 'stg.demo_ff',
        error_on_column_count_mismatch = true, encoding = 'iso-8859-1') ;
end;
$$
;

您的复制语句“第一次运行良好”,但如果您再次 运行 它,您将加载 0 个文件,因为它已经加载了这些文件。这是因为 Snowflake 正在跟踪哪个文件已加载,因此没有必要再次加载它们。

也就是说你的SP刚刚好

要测试 运行 目标 table,然后 运行 你的 SP,它应该加载文件,在第一个 运行.