Copy link to clipboard
Copied
Hello, all,
I'm trying to migrate data from an old schema to a new schema via ColdFusion, and I'm getting an error message.
<cfquery name="old_data" datasource="#application.dsn_old#">
SELECT colA, colB, colC
FROM old_table
</cfquery>
<cfquery name="new_data" datasource="#application.dsn_new#">
INSERT ALL
<cfoutput query="old_data">
into new_table(aCol, bCol, cCol)
values(colA, colB, colC)
</cfoutput>
SELECT * from dual;
</cfquery>
904: ORA-00904: "colC": Invalid identifier
If I CFDUMP the first query, all the data is there. Why does Oracle think that colC is invalid?
V/r,
^ _ ^
Copy link to clipboard
Copied
Never mind. Gave up the ghost. Too much time spent on it, and I need to get stuff done. I just bit the bullet and did individual CFQUERY within the CFOUTPUT, cringing all the way. It worked.
V/r,
^ _ ^
Copy link to clipboard
Copied
Sorry I'm late to the party, but surely line 9 should be:
values(#colA#, #colB#, #colC#)
If any of them are not numeric, remember to include quotes.
Cheers
Eddie
Copy link to clipboard
Copied
I actually revisited this during a break I was taking, and the solution turned out to be putting the values in CFQUERYPARAM tags.
V/r,
^ _ ^
PS: Late or no, always good to hear your input.
Copy link to clipboard
Copied
cfqueryparam is definitely the more robust option. Glad you got it sorted out.
Cheers
Eddie
Find more inspiration, events, and resources on the new Adobe Community
Explore Now