Estoy escribiendo un proceso almacenado en Snowflake que tiene un argumento VARCHAR, me gustaría saber cómo puedo tener el valor predeterminado para ese argumento.
CREATE OR REPLACE PROCEDURE test(arg1 VARCHAR, arg2 VARCHAR) returns VARCHAR language JAVASCRIPT AS $$ sql_cmd = snowflake.createStatement ({sqlText:`SELECT * from <table> where ID = ${ARG1};`}); sql_cmd.execute(); $$;
Llamaré al procedimiento como:
CALL test (arg1, arg2);
Pero para arg1 quiero pasar el valor predeterminado como 0 (cero) de modo que si no se pasa ningún valor, debería aceptarlo como 0 (cero).
No pude encontrar nada relevante para esto, por favor ayuda.
Puede usar la sobrecarga: cree otro procedimiento con la misma definición pero sin argumentos. Defina el valor predeterminado dentro del cuerpo del procedimiento. Se llamará a su procedimiento sobrecargado en caso de que una llamada no tenga argumentos.
CREATE OR REPLACE PROCEDURE test() returns VARCHAR language JAVASCRIPT AS $$