我正试图将一个文件复制到一个表中,该表的开头有文本(想想日期等(,然后在结尾有文本(也像日期、"数据结束"等(。其余数据都是分隔的值,我可以使用字段分隔符。我知道我可以跳过COPY INTO中的标题,但有没有办法在某个点结束COPY INTO,这样它就不会试图吸收数据文本的末尾?
您可以告诉Snowflake将整个文件复制到一个表中,并忽略错误:
copy into table1
from @stage1
on_error = continue
如果文件的最后一行抛出错误,那么这将很好地导入所有格式正确的行。
正如Felipe所建议的,首先在VALIDATION_MODE=RETURN_ALL_ERRORS或RETUR_2_ROWS中测试文件,并查看其行为。在此基础上,您可以决定使用哪个选项。