title: Why did oracle scheduler job execute old pl/sql code instead of modified pl/sql code
body: <p>I have an existing Oracle scheduler job that runs once a day. The job purges old data from a database table calling a <code>pl/sql</code> stored procedure. </p>
  
  <p>Example of <code>pl/sql</code>: </p>
  
  <pre><code>BEGIN mySchema.myPackage.purgeMyData(sysdate - 30); END;
  </code></pre>
  
  <p>This job runs fine at the designated scheduled day/time. However, we needed to change the parameter in the procedure call so that we'd only keep <code>15</code> days of data instead of <code>30</code> days. </p>
  
  <p>So we modified the job's <code>pl/sql</code> to this: </p>
  
  <pre><code>BEGIN mySchema.myPackage.purgeMyData(sysdate - 15); END;
  </code></pre>
  
  <p>The job ran successfully last night, but it used the old <code>sysdate - 30</code> parameter instead of <code>sysdate - 15</code>. I reviewed the job and it is showing the <code>sysdate - 15</code> for the parameter.</p>
  
  <p>Does anyone know why this happened and whether it will run correctly tonight? I'm wondering if the scheduler had it stored somewhere for the next schedule job run that didn't get updated. I searched the web and this site and couldn't find anything in regards to this. Any assistance would be appreciated. </p>
  
  <p>I used SQL Developer to update the job by right clicking on the job and selecting <code>edit</code>, changing the parameter in <code>pl/sql</code>, and clicking <code>apply</code>. </p>