# Update another tag using a tag value changed script syntax question

**URL:** <https://forum.inductiveautomation.com/t/update-another-tag-using-a-tag-value-changed-script-syntax-question/102439>\
**Category:** Ignition\
**Tags:** ignition81, scripting\
**Created:** [February 17, 2025, 4:18pm UTC](https://forum.inductiveautomation.com/t/update-another-tag-using-a-tag-value-changed-script-syntax-question/102439 "2025-02-17T16:18:55Z")\
**Posts on this page:** 1\
**Showing post:** 9

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [February 17, 2025, 5:04pm UTC](https://forum.inductiveautomation.com/t/update-another-tag-using-a-tag-value-changed-script-syntax-question/102439/9 "2025-02-17T17:04:42Z")

</div>

I just started typing that....

My more modern advice, based on more knowledge, is that tag event scripts (on the tag) should run in single digits milliseconds, no exceptions. That means you cannot use any `system.*` functions that would wait on a database or wait on any network exchange. And never sleep or busy-wait. You cannot use `system.tag.writeBlocking()` on anything but memory tags. You cannot interact with the DB except via `system.db.runSFPrepUpdate()`. You cannot use `system.opc.*` at all. You cannot call out to any web API.

Tag Change Events defined in a project get their own thread, so can do more "bad" things.

---

_[View the full topic](https://forum.inductiveautomation.com/t/update-another-tag-using-a-tag-value-changed-script-syntax-question/102439)._
