title: ORA-00913 too many values pl/sql using a explicit cursor
body: <p>I'm trying to insert data into a Time dimension table I created for my data warehouse. I manage to get the data to output to the server but cannot insert into the table. <strong>I have supplied partial code that reproduces the same error</strong>. I have tried multiple ways which include:</p>
  
  <ol>
  <li>changing the row type from the table name to the cursor name(same
  error).  </li>
  <li>placing the cursor(c1) into/AS a variable in the SELECT statement (same error).</li>
  </ol>
  
  <p>I have attached a screenshot of running the code successfully printing it to the screen with DBMS_OUTPUT.PUT_LINE.</p>
  
  <p><a href="https://i.stack.imgur.com/PPKll.jpg" rel="nofollow noreferrer">Screenshot of successful Anonymous Block completed</a></p>
  
  <p><strong><em>The below code produces the following error report:
  ORA-06550:Line 15, column 17:
  PL/SQL:ORA-00913: too many values
  ORA-06550: line 15, column 5:
  PL/SQL: SQL Statement ignored</em></strong></p>
  
  <p>---The following script populates a time dimension table for a standard calendar. ---</p>
  
  <p><strong>DECLARE</strong> 
   ---Declare cursor for columns in Time dimension table---</p>
  
  <pre><code>cursor c1 is SELECT 
  
      DAY_ID,DAY_TIME_SPAN,DAY_END_DATE AS r_time
  
      FROM time_calendar_dim_2; 
  </code></pre>
  
  <p>--Rowtype variable for the cursor(c1) to insert values in multiple columns-- </p>
  
  <pre><code>r_time c1%rowtype;
  </code></pre>
  
  <p><strong>BEGIN</strong></p>
  
  <p>---initiating loop to insert multiple rows--</p>
  
  <pre><code>FOR r_time IN c1 LOOP
  </code></pre>
  
  <p>---Insert values into the time-dimensional table---</p>
  
  <pre><code>INSERT INTO time_calendar_dim_2(DAY_ID,DAY_TIME_SPAN,DAY_END_DATE)            
  VALUES
   (SEQ_Time_Dim_IDSTART.nextval,r_time.DAY_ID,r_time.DAY_TIME_SPAN,r_time.DAY_END_DATE);      
  
      **END LOOP;
  
   END;**
   /
  </code></pre>