# Saving parameters stored in a allen bradley UDT array in a SQL database

**URL:** <https://forum.inductiveautomation.com/t/saving-parameters-stored-in-a-allen-bradley-udt-array-in-a-sql-database/56748>\
**Category:** Ignition\
**Created:** [March 2, 2022, 10:10pm UTC](https://forum.inductiveautomation.com/t/saving-parameters-stored-in-a-allen-bradley-udt-array-in-a-sql-database/56748 "2022-03-02T22:10:41Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![I\_Rock\_Well](https://avatars.discourse-cdn.com/v4/letter/i/7c8e57/32.png) [@I\_Rock\_Well](https://forum.inductiveautomation.com/u/I_Rock_Well)\
**Post date:** [March 2, 2022, 10:10pm UTC](https://forum.inductiveautomation.com/t/saving-parameters-stored-in-a-allen-bradley-udt-array-in-a-sql-database/56748/1 "2022-03-02T22:10:41Z")

</div>

For most of my PLCs I have a UDT Recipe.ID where x is about 0-64.  
in each of those I have a large number of parameters, for example Recipe.ID[5].SoakTime

Now I want to store all the parameters in a database so I can restore them easily to the original value when Bubba accidently adjusted the wrong one.

Is there an easy way to do that for a large number of values?

So far I created a tag in ignition from the AB udt. In my transaction group I can drag and drop the tags, but I would have to do that about 900 times, while manually changing the target name.

I hope this is sort of coherent. I am completely new to ignition as well as to databases.

---

<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:** [March 2, 2022, 10:55pm UTC](https://forum.inductiveautomation.com/t/saving-parameters-stored-in-a-allen-bradley-udt-array-in-a-sql-database/56748/2 "2022-03-02T22:55:13Z")

</div>

For such a regular pattern, I would bypass the tag and transaction group options and script it directly with `system.opc.write*(...)` after retrieving the rows from the database with `system.db.runPrepQuery()`. When drag and drop isn’t practical, Ignition’s scripting is the answer.
