snowflake.core.procedure.ProcedureCollection¶

class snowflake.core.procedure.ProcedureCollection(schema: SchemaResource)¶

Bases: ProcedureCollectionBase

Represents the collection operations on the Snowflake Procedure resource.

With this collection, you can create, iterate through, and fetch procedures that you have access to in the current context.

Examples

Creating a procedure instance:

>>> procedure = Procedure(
...     name="sql_proc_table_func",
...     arguments=[Argument(name="id", datatype="VARCHAR")],
...     return_type=ReturnTable(
...         column_list=[
...             ColumnType(name="id", datatype="NUMBER"),
...             ColumnType(name="price", datatype="NUMBER"),
...         ]
...     ),
...     language_config=SQLFunction(),
...     body="
...         DECLARE
...             res RESULTSET DEFAULT (SELECT * FROM invoices WHERE id = :id);
...         BEGIN
...             RETURN TABLE(res);
...         END;
...     ",
... )
>>> procedures = root.databases["my_db"].schemas["my_schema"].procedures
>>> procedures.create(procedure)
Copy

Attributes

database¶

The DatabaseResource this collection belongs to.

root¶

The Root object this collection belongs to.

Methods

create(procedure: Procedure, mode: CreateMode | str | None = None, copy_grants: bool | None = None) → ProcedureResource¶

Create a procedure.

Parameters:
  • procedure (Procedure) – (required)

  • mode (Union[CreateMode, str]) – Parameter allowing support for different modes of resource creation. Possible values include: - errorIfExists: Throws an error if you try to create a resource that already exists. - orReplace: Automatically replaces the existing resource with the current one. - ifNotExists: Creates a new resource when an alter is requested for a non-existent resource.

  • copy_grants (bool) – Parameter to enable copy grants when creating the object.

create_async(procedure: Procedure, mode: CreateMode | str | None = None, copy_grants: bool | None = None) → PollingOperation[ProcedureResource]¶

An asynchronous version of create().

Refer to PollingOperation for more information on asynchronous execution and the return type.

items() → ItemsView[str, T]¶
iter(*, like: str | None = None) → Iterator[Procedure]¶

List procedures.

Parameters:

like (str) – Parameter to filter the command output by resource name. Uses case-insensitive pattern matching, with support for SQL wildcard characters.

iter_async(*, like: str | None = None) → PollingOperation[Iterator[Procedure]]¶

An asynchronous version of iter().

Refer to PollingOperation for more information on asynchronous execution and the return type.

keys() → KeysView[str]¶
update_reference(old_name: str, new_name: str, resource: T) → None¶

Update the collection with a new item.

values() → ValuesView[T]¶