Intentando crear un procedimiento almacenado en copo de nieve que tome argumentos para generar 'crear declaración' para una tabla externa usando metadatos del archivo en etapas del esquema de inferencia y ejecutándolo. Dado que soy bastante nuevo en el procedimiento almacenado de Snowflake, ¿realmente agradecería información sobre cómo lograr esto?
CREATE OR REPLACE PROCEDURE DatabaseName.SchemaName.TEST_PROCEDURE(DB_NAME STRING, SCHEMA_NAME STRING, TABLE_NAME STRING , FILEPATH STRING) returns string language javascript as $$ var cmd = ` SELECT 'CREATE OR REPLACE EXTERNAL TABLE ' || DB_NAME ||'.'||SCHEMA_NAME||'.'||TABLE_NAME|| ' (' || LISTAGG( CLEAN_COLUMN || ' ' || TYPE || ' AS (' || 'VALUE:'|| CLEAN_COLUMN || '::' || TYPE || ')', ', ') AS QUERY_TEXT FROM ( SELECT * ,CASE WHEN COLUMN_NAME LIKE '%#%' THEN '"'||COLUMN_NAME||'"' ELSE COLUMN_NAME END AS CLEAN_COLUMN from table( INFER_SCHEMA( LOCATION => '@db.src_xxx.stg_yyyy/2021-awdfg' ,FILE_FORMAT => '@db.src_xxx.parquet' ) ) A ) ` var sql = snowflake.createStatement({sqlText: cmd}); var result = sql.execute(); return 'Success'; $$;