<br><br><div class="gmail_quote">2009/6/16 Thiago Rondon <span dir="ltr">&lt;<a href="mailto:thiago@aware.com.br">thiago@aware.com.br</a>&gt;</span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
Eu não disse que foi o Oracle que retornou, eu disse que você esta usando Oracle pelo código.  (*nextval no resultset-&gt;create)  ;-)<br>
</blockquote><div><br>Eu entendi! Na verdade só quis deixar claro q não era o Oracle q tava me retornando o erro... :)<br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
Procurando pelo código do DBIx Class do Oracle, encontrei:<br>
(<a href="http://cpansearch.perl.org/src/RIBASUSHI/DBIx-Class-0.08103/lib/DBIx/Class/Storage/DBI/Oracle/Generic.pm" target="_blank">http://cpansearch.perl.org/src/RIBASUSHI/DBIx-Class-0.08103/lib/DBIx/Class/Storage/DBI/Oracle/Generic.pm</a>)<br>

<br>
Veja se ler esta função do DBIx Class te ajuda, o problema ainda me parece em relação a sequencia, talvez como ela esta sendo invocada ou algo assim.</blockquote><div><br></div><div><br>Eu achei essa função abaixo também. Mas basta declarar a sequence, como demonstrado no link q vc mandou acima. Desse jeito:<br>
<br>&lt;code&gt;<br><br>__PACKAGE__-&gt;add_columns(<br>  &quot;processo_id&quot; =&gt; { sequence =&gt; &#39;some_sequence&#39;, auto_nextval =&gt; 1 },<br>  &quot;fornecedor_id&quot;,<br>  { data_type =&gt; &quot;INTEGER&quot;, is_nullable =&gt; 0, size =&gt; undef },);<br>
<br>__PACKAGE__-&gt;set_primary_key(&quot;processo_id&quot;);<br>__PACKAGE__-&gt;sequence(&#39;seq_processo&#39;);<br><br><br>&lt;/code&gt;<br><br><br>A função abaixo foi  necessária.<br><br><br><br>Valeu!<br><br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
<br>
sub _dbh_get_autoinc_seq {<br>
 my ($self, $dbh, $source, $col) = @_;<br>
<br>
 # look up the correct sequence automatically<br>
 my $sql = q{<br>
   SELECT trigger_body FROM ALL_TRIGGERS t<br>
   WHERE t.table_name = ?<br>
   AND t.triggering_event = &#39;INSERT&#39;<br>
   AND t.status = &#39;ENABLED&#39;<br>
 };<br>
<br>
 # trigger_body is a LONG<br>
 $dbh-&gt;{LongReadLen} = 64 * 1024 if ($dbh-&gt;{LongReadLen} &lt; 64 * 1024);<br>
<br>
 my $sth;<br>
<br>
 # check for fully-qualified name (eg. SCHEMA.TABLENAME)<br>
 if ( my ( $schema, $table ) = $source-&gt;name =~ /(\w+)\.(\w+)/ ) {<br>
   $sql = q{<br>
     SELECT trigger_body FROM ALL_TRIGGERS t<br>
     WHERE t.owner = ? AND t.table_name = ?<br>
     AND t.triggering_event = &#39;INSERT&#39;<br>
     AND t.status = &#39;ENABLED&#39;<br>
   };<br>
   $sth = $dbh-&gt;prepare($sql);<br>
   $sth-&gt;execute( uc($schema), uc($table) );<br>
 }<br>
 else {<br>
   $sth = $dbh-&gt;prepare($sql);<br>
   $sth-&gt;execute( uc( $source-&gt;name ) );<br>
 }<br>
 while (my ($insert_trigger) = $sth-&gt;fetchrow_array) {<br>
   return uc($1) if $insert_trigger =~ m!(\w+)\.nextval!i; # col name goes here???<br>
 }<br>
 $self-&gt;throw_exception(&quot;Unable to find a sequence INSERT trigger on table &#39;&quot; . $source-&gt;name . &quot;&#39;.&quot;);<div class="im"><br>
}<br>
<br>
</div></blockquote></div><br>-- <br>André Garcia Carneiro<br>Analista/Desenvolvedor Perl<br><br>