title: Native Dynamic SQL, creating string
body: <p>I've just started with PL/SQL. My concern is as follows:</p>
  
  <p>I want to create a string dynamically.</p>
  
  <p>I tried the following, but it always results in ORA-00900 &amp; ORA-06512 at the line of "Execute Immediate...".</p>
  
  <p>Here we go:</p>
  
  <pre><code>    Declare
  
      l_pre_sql varchar2(4000) := 'schema.';
      l_sql varchar2(4000) := 'concat(concat(:a, :b), :c)';
      l_after_sql := '.procedure(a,b,c)';
  begin
  
  execute immediate l_sql using l_pre_sql, l_sql, l_after_sql;
  
  end;
  </code></pre>
  
  <p>Is the syntax of execute immediate wrong? Are there any other working possibilities? As you may see, i am working around the problem that one cannot use schema name as a dynamic variable.</p>
  
  <p>For clarification I basically want to do this:</p>
  
  <pre><code>execute immediate ':a'||'.'||':b'||'.procedure(a,b,c)' using schema, name;
  </code></pre>
  
  <p>Thanks in advance!</p>