# UPDATE ENTITY

## Syntax <a href="#synopsis" id="synopsis"></a>

```sql
UPDATE ENTITY entity_name
[IN STORE store_name]
[WITH (entity_parameter = value [, ...])];
```

## Description <a href="#description" id="description"></a>

Updates a [Data Store](/overview/core-concepts/store.md) object or entity with the `entity_parameter`. You can only update logical-layer parameters of an entity after it's been created. (Logical-layer parameters are the ones that allow DeltaStream to operate on the entity.) To update physical-layer parameters, you must recreate an entity. See [DROP ENTITY](/reference/sql-syntax/ddl/drop-entity.md) and [CREATE ENTITY](/reference/sql-syntax/ddl/create-entity.md).

### Arguments <a href="#parameters" id="parameters"></a>

#### entity\_name

The name of the existing entity to update. If the name is case-sensitive, you must wrap it in double quotes; otherwise, the system uses the lower case name.

#### IN STORE store\_name

Optionally, update the entity in a specific store. If the name is case-sensitive, you must wrap it in double quotes; otherwise, the system uses the lower case name.

#### WITH (entity\_parameter = value \[, …​])

Optionally, this clause specifies [#topic\_parameters](#topic_parameters "mention").

### Entity Parameters <a href="#topic_parameters" id="topic_parameters"></a>

| Parameter Name     | Description                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `key.descriptor`   | <p>A qualified <a href="/pages/qYbMKliMKIuoFWLEoLAW#protocol-buffers-and-descriptors">descriptor</a> name used to decode a record's key, if applicable. Clear the descriptor by specifying <code>NULL</code>.<br><br><strong>Required:</strong> No<br><strong>Default value:</strong> None<br><strong>Type:</strong> String<br><strong>Valid values:</strong> See <a data-mention href="/pages/BnPOO9Vr3gs2vwW8LIEM">/pages/BnPOO9Vr3gs2vwW8LIEM</a></p> |
| `value.descriptor` | <p>A qualified <a href="/pages/qYbMKliMKIuoFWLEoLAW#protocol-buffers-and-descriptors">descriptor</a> name used to decode a record's value. Clear the descriptor by specifying <code>NULL</code>.<br><br><strong>Required:</strong> No<br><strong>Default value:</strong> None<br><strong>Type:</strong> String<br><strong>Valid values:</strong> See <a data-mention href="/pages/BnPOO9Vr3gs2vwW8LIEM">/pages/BnPOO9Vr3gs2vwW8LIEM</a></p>              |

## Examples

#### Add descriptors to a Kafka topic

The following updates the key and value descriptors for the entity `transactions` in the user's default store, `demostore`:

```sh
demodb.public/kafka_store# LIST DESCRIPTORS;
+--------------+--------------+----------+----------+-------------------------------+-------------------------------+
|  Name        |  Source Name |  Type    |  Owner   |  Created At                   |  Updated At                   |
+==============+==============+==========+==========+===============================+===============================+
| PageviewsKey | pb_key       | protobuf | sysadmin | 2024-07-16 21:23:01 +0000 UTC | 2024-07-16 21:23:01 +0000 UTC |
+--------------+--------------+----------+----------+-------------------------------+-------------------------------+
| Pageviews    | pb           | protobuf | sysadmin | 2024-07-16 21:15:50 +0000 UTC | 2024-07-16 21:15:50 +0000 UTC |
+--------------+--------------+----------+----------+-------------------------------+-------------------------------+
demodb.public/kafka_store# UPDATE ENTITY pageviews WITH ('key.descriptor' = pb_key."PageviewsKey", 'value.descriptor' = pb."Pageviews");
+--------+-----------+----------+------------------------------------------+
|  Type  |  Name     |  Command |  Summary                                 |
+========+===========+==========+==========================================+
| entity | pageviews | UPDATE   | entity "pageviews" was successfully      |
|        |           |          | updated in store "kafka_store"           |
+--------+-----------+----------+------------------------------------------+
demodb.public/kafka_store# DESCRIBE ENTITY pageviews;
+-----------+-------------+-----------+---------------------+-------------------+----------+
|  Name     |  Partitions |  Replicas |  Key Descriptor     |  Value Descriptor |  Configs |
+===========+=============+===========+=====================+===================+==========+
| pageviews | 1           | 1         | pb_key.PageviewsKey | pb.Pageviews      | {}       |
+-----------+-------------+-----------+---------------------+-------------------+----------+
```

#### Add descriptor to a Kinesis data stream

The following updates the descriptor for the entity `pageviews` in the store, `kinesis_store`:

```sh
demodb.public/kinesis_store# LIST DESCRIPTORS;
+-----------+--------------+----------+----------+-------------------------------+-------------------------------+
|  Name     |  Source Name |  Type    |  Owner   |  Created At                   |  Updated At                   |
+===========+==============+==========+==========+===============================+===============================+
| Pageviews | pb           | protobuf | sysadmin | 2024-07-16 21:15:50 +0000 UTC | 2024-07-16 21:15:50 +0000 UTC |
+-----------+--------------+----------+----------+-------------------------------+-------------------------------+
demodb.public/kinesis_store# UPDATE ENTITY pageviews WITH ('value.descriptor' = pb."Pageviews");
+--------+-----------+----------+------------------------------------------+
|  Type  |  Name     |  Command |  Summary                                 |
+========+===========+==========+==========================================+
| entity | pageviews | UPDATE   | entity "pageviews" was successfully      |
|        |           |          | updated in store "kinesis_store"         |
+--------+-----------+----------+------------------------------------------+
demodb.public/kinesis_store# DESCRIBE ENTITY pageviews;
+-----------+---------+--------------+
|  Name     |  Shards |  Descriptor  |
+===========+=========+==============+
| pageviews | 1       | pb.Pageviews |
+-----------+---------+--------------+
```

#### Remove descriptors from a Kafka topic

The following sets the key and value descriptors for the entity `transactions` in the user's default store to be `NULL`:

```sh
demodb.public/kafka_store# UPDATE ENTITY pageviews WITH ('key.descriptor' = NULL, 'value.descriptor' = NULL);
+--------+-----------+----------+------------------------------------------+
|  Type  |  Name     |  Command |  Summary                                 |
+========+===========+==========+==========================================+
| entity | pageviews | UPDATE   | entity "pageviews" was successfully      |
|        |           |          | updated in store "kafka_store"           |
+--------+-----------+----------+------------------------------------------+
demodb.public/kafka_store# DESCRIBE ENTITY pageviews;
+-----------+-------------+-----------+-----------------+-------------------+----------+
|  Name     |  Partitions |  Replicas |  Key Descriptor |  Value Descriptor |  Configs |
+===========+=============+===========+=================+===================+==========+
| pageviews | 1           | 1         | <null>          | <null>            | {}       |
+-----------+-------------+-----------+-----------------+-------------------+----------+
```

#### Add value descriptor to entity in a specific Kafka store

The following sets the value descriptor for the entity `xActs` in a specific store, `OtherStore`:

```sh
demodb.public/kinesis_store# LIST DESCRIPTORS;
+-----------+--------------+----------+----------+-------------------------------+-------------------------------+
|  Name     |  Source Name |  Type    |  Owner   |  Created At                   |  Updated At                   |
+===========+==============+==========+==========+===============================+===============================+
| Pageviews | pb           | protobuf | sysadmin | 2024-07-16 21:15:50 +0000 UTC | 2024-07-16 21:15:50 +0000 UTC |
+-----------+--------------+----------+----------+-------------------------------+-------------------------------+
demodb.public/kinesis_store# UPDATE ENTITY "xActs" IN STORE "OtherStore" WITH ('value.descriptor' = pb."Pageviews");
+--------+---------+----------+---------------------------------------+
|  Type  |  Name   |  Command |  Summary                              |
+========+=========+==========+=======================================+
| entity | xActs   | UPDATE   | entity "xActs" was successfully       |
|        |         |          | updated in store "OtherStore"         |
+--------+---------+----------+---------------------------------------+
demodb.public/kafka_store# DESCRIBE ENTITY "xActs" IN STORE "OtherStore";
+-----------+-------------+-----------+-----------------+-------------------+----------+
|  Name     |  Partitions |  Replicas |  Key Descriptor |  Value Descriptor |  Configs |
+===========+=============+===========+=================+===================+==========+
| xActs     | 1           | 2         | <null>          | pb.Pageviews      | {}       |
+-----------+-------------+-----------+-----------------+-------------------+----------+
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.deltastream.io/reference/sql-syntax/ddl/update-entity.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
