Understanding ColdFusion

Populating a New Database Table from and Old Table with ColdFusion

About 1 min read

(updated 27 May 2023)

Supposed you have created a new database table, and you want to populate it with data from another table. You can use the Macromedia ColdFusion <CFLOOP> tag and the SQL INSERT function to perform that task.

Steps to take are:

  1. Create new table
  2. Create CF page with Query, Loop and Insert
  3. Test application

This lesson will answer those questions.


Create new table

First, you need to create the new table in your database and enter the names, types and sizes of its columns or fields. The names do not have to be the same as the fields in the first database, but the types and sizes should be.

Create CF page

Then, create a ColdFusion page where you query, loop and insert your data.

Query old table

Query the old table for its data. This table may be in the same database or in a different one.

<CFQUERY NAME=”first” DATASOURCE=”xxx”>
SELECT *
FROM TableName
</CFQUERY>

Loop and insert

Loop over this query and insert the records or rows into the new table.

<CFLOOP Query=”first”>

<CFQUERY NAME=”second” DATASOURCE=”yyy”>
INSERT INTO New_TableName(
FirstColumn,
SecondColumn,
ThirdColumn,
etc.)
VALUES (
‘#FirstCol#’,
#SecondColumn#,
‘#ThirdCol#’,
etc.)

</CFLOOP>

Remember to add the single quotation marks ( ‘ ) for the text data items. Also, note that the names from the first table do not necessarily have be the same as what you enter in the second table.

Test application

Upload the page and run the application. You may get error message for data mismatches or such. Make the appropriate adjustments.

You can also use this method to add or update data in you new table from the original.

Summary

To populate new database table with data from another table, you can use the <CFLOOP> tag and the SQL INSERT function to perform that task.


Help others succeed


Resources and references

Websites

ColdFusion Resources