如何解决如何使用动态列名将 CDC 数据从流插入到另一个表
我有一个 Snowflake 存储过程,我想在没有硬编码列名称的情况下使用“插入”。 INSERT INTO MEMBERS_TARGET (ID,NAME) SELECT ID,NAME FROM MEMBERS_STREAM;
这就是我所拥有的,列名是硬编码的。查询应将数据从 MEMBERS_STREAM 复制到 MEMBERS_TARGET。流有更多的列,例如 METADATA$ACTION |元数据$ISUPDATE |我不打算复制 METADATA$ROW_ID。
解决方法
如果不是硬编码,我不知道有什么方法可以不复制 METADATA 列。但是,如果您不想要数据,最简单的方法可能是将它们添加到您的目标中,使用 SELECT * 插入,然后在 sp 中将它们设置为 NULL。
或者,在您的 sp 的早期,运行 ALTER TABLE ADD COLUMN 以添加列,使用 SELECT * 插入,然后运行 ALTER TABLE DROP COLUMN 以删除列?这样你的表结构就保持不变,尽管它会有一些额外的列。
通常不推荐使用 SELECT * 但这是我能想到的最简单的替代方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。