You can use SQL statements, either interactively or in source code, to insert one or more rows into tables that are stored in the database. insert method - Insert one row at a time. doInsert method - Insert one row at a time. insert_recordset statement - Copy multiple records directly from one or more tables into another table in one database trip. RecordInsertList.insertDatabase - Insert multiple rows at the same time in one database trip. Use this construct when you don't have to sort the data. RecordSortedList.insertDatabase - Insert multiple rows at the same time in one database trip. Use this construct when you want a subset of data from a specific table, and you want that data to be sorted in an order that doesn't currently exist as an index. RecordSortedList, RecordInsertList, and insert_recordset let you insert multiple records. By using these methods, you reduce communication between the application and the database. Therefore, you help increase performance. In some situations, record set-based operations can fall back to record-by-record operations. Reference: https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/dev-ref/xpp-data/xpp-insert https://learn.microsoft.com/en-us/dotnet/api/dynamics.ax.application.recordinsertlist https://learn.microsoft.com/en-us/dotnet/api/dynamics.ax.application.recordsortedlist