title: Creating a table with a default value in execute immediate statement
body: <p>I know it isn't recommended to create a table using an execute immediate command but I need to create a table which prompts the user for 2 pieces of information before acting. Currently I have:</p>
  
  <pre><code>DECLARE
  TEST_NAME VARCHAR2(200);  
  TEST_VERSION VARCHAR2(200); 
  BEGIN
    TEST_NAME := '&amp;1';
    TEST_VERSION := '&amp;2';
  
  EXECUTE IMMEDIATE 'create table TEST_TABLE
  (
  PROJ_NAME VARCHAR(255) DEFAULT TEST_NAME,
  PROJ_VER VARCHAR(255) DEFAULT TEST_VERSION,
  COL_1 NUMBER(5)
  )';
  End;
  </code></pre>
  
  <p>This throws the error</p>
  
  <pre><code>Error report:
  ORA-00984: column not allowed here
  ORA-06512: at line 8
  00984. 00000 -  "column not allowed here"
  *Cause:    
  *Action:
  </code></pre>
  
  <p>How can I solve this issue? Also as a second question, if I were to be successful in creating this table, in a different script, how would I use an if statement to compare a variable against the default value of the proj_name column, (test_name)?</p>
  
  <p><strong>EDIT:</strong>
  Thanks to tbone and Parado I solved my first issue though if anyone could help with know how to use an if statement to do something like this:</p>
  
  <pre><code>If test_var = proj_name.default_value ...
  </code></pre>
  
  <p>I need to be able to compare against the default proj_name value even when no rows have been inserted.
  Thanks,</p>