For the complete documentation index, see llms.txt. This page is also available as Markdown.

Functions overloading

Snowflake support procedures and functions overloading. You can create multiple UDFs with the same name but with different types of arguments..

Let's create:

CREATE TABLE A(ID INT);
CREATE TABLE B(S STRING);

CREATE OR REPLACE FUNCTION fn_overload ( _id number )
  RETURNS TABLE (id int)
  AS 'select id from a where id > _id'
;


CREATE OR REPLACE FUNCTION fn_overload ( _s string )
  RETURNS TABLE (s string)
  AS 'select s from b where s != _s'
;

The first one has Table A as a source, and the second one Table B.

Now let's create VIEWs depending on these functions:

CREATE VIEW V1 AS
SELECT * FROM TABLE(fn_overload(1));

CREATE VIEW V2 AS
SELECT * FROM TABLE(fn_overload('1'));

Here is the Dwh.dev result:

Last updated