如何使用雪花脚本编写复制语句?
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,它应该加载文件,在第一个 运行.
我正在尝试在雪花脚本中编写复制语句。我的复制语句在存储过程之外工作正常。当我将复制语句放入存储过程时,它不起作用。 这太奇怪了。请问有人可以帮我解决这个问题吗?
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,它应该加载文件,在第一个 运行.