cancel
Showing results for 
Search instead for 
Did you mean: 

Parameterizing Snowflake query in Snaplogic

azvineth
New Contributor

I am trying to execute a Snowflake query to fetch some columns data in a table using Snowflake Execute snap.
Select “id”, “user_name”, “user_location”, “user_email” from t_user where “user_location” = ‘Chennai’ order by “id”;
Now in the above query I need to parameterize the filter used and so I introduced a pipeline paramter “u_loc” in the pipeline properties and changed the query as below. But it shows query parsing failed error on validation.
“Select “id”, “user_name”, “user_location”, “user_email” from t_user where “user_location” = '”+_u_loc+“’ order by “id”;”

5 REPLIES 5

bojanvelevski
Valued Contributor

Hi @azvineth,

Try the following:

"Select 'id', 'user_name', 'user_location', 'user_email' from t_user where 'user_location' = '"+_u_loc+"' order by 'id';"

If you place a mapper in front of the Snowflake Execute snap, you’ll be able to validate the query and see how it looks before sending it to Snowflake. Just for debugging purposes.

Regards
Bojan

Supratim
Contributor III

@azvineth Can also try the below option -

"Select id, user_name, user_location, user_email from t_user where user_location = ‘%s’ order by id ".sprintf(_u_loc)

@Supratim Nope. Throws the below error.
Failed to execute query: Select id, user_name, user_location, user_email from t_user where user_location = ‘Chennai’ order by id
Reason:
SQL compilation error: error line 1 at position 7 invalid identifier ‘ID’

azvineth
New Contributor

@bojanvelevski That did not work. Got the below error.

Failed to execute query: Select ‘id’, ‘user_name’, ‘user_location’, ‘user_email’ from t_user where ‘user_location’ = ‘Chennai’ order by ‘id’
SQL compilation error:
syntax error line 1 at position 8 unexpected ‘‘id’’