Get started Bring yourself up to speed with our introductory content.

Inserting data from a CTE into a file in SQL

To insert data from the CTE into a file in SQL, the common table expression definitions need to be declared within the nested SELECT statement when using a SQL insert statement.

Can I insert data from a CTE into a file? I have this query:
with recursive appidrange ( start, end) as 
(select 4500000, max(apptid) from coprddb3/corcvaptp), 
allIds (apptidlist, endid) as 
( select start as apptidlist, end as endid 
from appidrange union all 
select existing_row.apptidlist + 1 
from allIds existing_row 
where existing_row.apptidlist +1 <= existing_row.endid), 
missingIds as ( 
select apptidlist from allids 
select apptid from coprddb3/corcvaptp as temp) 

insert into jgriffin/apptids 
select * from missingIds;
As a result of this query, I get an SQL code of: -199 Insert not expected. How can I do this?
Since the SQL statement is an INSERT statement, you need to have the common table expression definitions declared with the nested SELECT statement. Here's a simple example:
INSERT INTO out_table 
  WITH my_cte (m1,m2) AS (SELECT absval(col1), absval(col2) FROM my_table ) 
  SELECT m1, m2 FROM my_cte;

Dig Deeper on iSeries SQL commands and statements