AI_GENERATE_TABLE_DESC¶

Generates and returns a description for a table or view. Optionally, the stored procedure can also generate descriptions for the columns of the table or view.

The stored procedure uses the Snowflake Cortex COMPLETE function to automatically generate descriptions.

Syntax¶

AI_GENERATE_TABLE_DESC(
  <table_name>
  [ , <config_object> ] )
Copy

Required arguments¶

table_name

Specifies the table or view that you want to generate a description for.

Optional arguments¶

config_object

An OBJECT that specifies whether you want to generate column descriptions and use sample data for those descriptions. You can use an OBJECT constant to specify this object.

The OBJECT value has the following structure:

{
  'describe_columns': <boolean>,
  'use_table_data': <boolean>
{
Copy
describe_columns

If set to TRUE, the stored procedure generates descriptions for all columns of the table.

use_table_data

If set to TRUE, the stored procedure uses sample data from the table to generate column descriptions, which can improve the accuracy of the descriptions. If FALSE, the stored procedure relies on metadata to generate the descriptions.

Returns¶

Returns a JSON string with the following fields:

COLUMNS

Contains an array of columns for which descriptions were generated. This field is only returned if descriptions were generated for columns.

The array contains the following fields for each column of the table:

database_name

Database that contains the column.

description

Description of the column that was generated by the stored procedure.

name

Name of the column.

schema_name

Schema that contains the column.

table_name

Table or view that contains the column.

TABLE

Contains an array that includes the description of the table along with general information about the table. The array consists of the following fields:

database_name

Database that contains the table.

description

Description of the table that was generated by the stored procedure.

name

Name of the table or view.

schema_name

Schema that contains the table.

Access control requirements¶

Users must have the following privileges and roles to call the AI_GENERATE_TABLE_DESCRIPTION stored procedure:

  • SELECT privilege on the table or view.

  • SNOWFLAKE.CORTEX_USER database role.

Usage notes¶

Examples¶

Generate a description for view v1.

CALL AI_GENERATE_TABLE_DESC( 'v1');
Copy
{
  "TABLE": [
    {
      "database_name": "mydb",
      "description": " The table contains records of customer addresses. Each record includes a name and zip code.",
      "name": "v1",
      "schema_name": "sch1"
    }
  ]
}

Generate descriptions for the table hr_data and all of its columns. Use metadata only to generate the descriptions.

CALL AI_GENERATE_TABLE_DESC(
  'mydb.sch1.hr_data',
  {
    'describe_columns': true,
    'use_table_data': false
  });
Copy
{
  "COLUMNS": [
    {
      "database_name": "mydb",
      "description": "A column holding data of type DecimalType representing age values.",
      "name": "AGE",
      "schema_name": "sch1",
      "table_name": "hr_data"
    },
    {
      "database_name": "mydb",
      "description": "The first name of the employee.",
      "name": "FNAME",
      "schema_name": "sch1",
      "table_name": "hr_data"
    }
  ],
  "TABLE": [
    {
      "database_name": "mydb",
      "description": " The table contains records of employee data, specifically demographic information. Each record includes an employee's age and name.",
      "name": "hr_data",
      "schema_name": "sch1"
    }
  ]
}