Чтобы указать имя схемы Dynami c, вы можете использовать IDENTIFIER (). Затем используйте API хранимых процедур javascript для выполнения.
create or replace procedure test()
returns text
language javascript
execute as caller
as
$$
snowflake.createStatement({ sqlText: `set t = 'raw_' || $env || '.employee'` }).execute()
snowflake.createStatement({ sqlText: `insert into identifier($t) values(1)` }).execute()
return 'SUCCESS'
$$;
set env= 'dev';
call test();
Вы также можете указать базу данных.
ОБНОВЛЕНИЕ - решение Stati c, жесткое кодирование параметра 'env *
RUN IN SNOW SQL
!define env=dev;
create or replace procedure test()
returns text
language javascript
execute as caller
as
$$
snowflake.createStatement({ sqlText: `insert into raw_&env.employee values(1)` }).execute() return 'SUCCESS'
$$;
Чтобы убедиться, что подстановка: stati c:
select get_ddl('procedure','test()')
Параметр env также можно определить в файле конфигурации или в командной строке SNOW SQL.