Snowflake 存储过程中的可选参数
Optional Parameters in Snowflake Stored Procedures
我们可以使用可选参数调用 Snowflake 存储过程吗?
例如,B 参数将是可选的。
create procedure my_proc(A VARCHAR, B VARCHAR (optional))
标准方法是制作许多存储过程,并使用“提供的默认值”调用越少越好
Snowflake 也支持overloading stored procedure names
所以 Javascript SP 可能看起来像:
create procedure my_proc(A VARCHAR, B VARCHAR)
RETURNS VARCHAR
LANGUAGE javascript
AS
$$
return A + B;
$$;
create or replace procedure my_proc(A VARCHAR)
RETURNS VARCHAR
LANGUAGE javascript
AS
$$
var cmd = "call my_proc(:1, 'abc')";
var stmt = snowflake.createStatement(
{
sqlText: cmd,
binds: [A]
}
);
var result1 = stmt.execute();
result1.next();
return result1.getColumnValue(1);
$$;
call my_proc('123');
MY_PROC
123abc
我们可以使用可选参数调用 Snowflake 存储过程吗? 例如,B 参数将是可选的。
create procedure my_proc(A VARCHAR, B VARCHAR (optional))
标准方法是制作许多存储过程,并使用“提供的默认值”调用越少越好
Snowflake 也支持overloading stored procedure names
所以 Javascript SP 可能看起来像:
create procedure my_proc(A VARCHAR, B VARCHAR)
RETURNS VARCHAR
LANGUAGE javascript
AS
$$
return A + B;
$$;
create or replace procedure my_proc(A VARCHAR)
RETURNS VARCHAR
LANGUAGE javascript
AS
$$
var cmd = "call my_proc(:1, 'abc')";
var stmt = snowflake.createStatement(
{
sqlText: cmd,
binds: [A]
}
);
var result1 = stmt.execute();
result1.next();
return result1.getColumnValue(1);
$$;
call my_proc('123');
MY_PROC |
---|
123abc |