如何将动态值传递到雪花查询中?

时间:2020-04-02 01:14:50

标签: sql sql-server sqlite snowflake-cloud-data-platform snowflake-schema

我有一个查询,使用正则表达式模式在表中查找潜在的SSN。

db_name.schema_name。表名: db_name.schema_name.ABC
带有敏感数据的列名: senstve_col

select regexp_substr(senstve_col, '\\b[0-9]{3}[ -][0-9]{2}[ -]{4}\\b') as sensitive_data, * from db_name.schema_name.ABC)

我需要对200个具有200个不同列名的表执行此操作。而且,每个表的db_name和schema_name都不同。 有没有办法动态传递值并将数据存储到雪花中的新表中? 有人可以帮助查询自动化上述查询多个表吗?

1 个答案:

答案 0 :(得分:0)

这是在Unix中调用.SQL的方式

snowsql -o variable_substitution=True --variable NEXT_TABLE=tblname --variable NEXT_COL=colname -f /home/sagar/snowflake/create_table.sql 

这就是您在.sql中提到变量名称的方式

create or replace view ntgrpa_hist.vw_rt_satelliteinfo_latest as 
select &NEXT_COL from public.&NEXT_TABLE;