Please , help-me. use DBI; $dbh = DBI->connect("DBI:Ingres(PrintError=>1):$bco_data") or erro "ERR--> concect $bco_data\n$DBI::errstr"; ################################################################################ $select = "select s.cod_serv as cod_quid, 'S' as tipo_quid, ss.num_sose, n.num_line, '2' as tipo_exec, ss.cod_oriv, s.fec_tser as fec_quid, n.num_cuen, n.flg_line, ss.num_docut, ss.fil_docut, ss.ctl_docut, n.cod_plan, n.num_seri, n.cod_esta from tabcose s, tabsose ss, tabnlin n where s.num_line = ss.num_line and ss.num_line = n.num_line and date_trunc('day', s.fec_iser) = '${dia}.${mes}.${ano}' and s.fec_tser is null"; ################################################################################ imprime "Executing select 1."; $sth = $dbh->prepare("$select") or erro "ERR--> prepare select 1.\n$DBI::errstr"; $sth->execute; erro "ERR-> execute select 1.\n$DBI::errstr" if $DBI::err; my %hash_ref; $sth->bind_columns( \( @hash_ref{ @{$sth->{NAME_lc} } } )); my $hash_ref = $sth->fetchall_arrayref({}); ################################################################################ $sth = $dbh->prepare(q{ insert into tmp_movimentos_rep (cod_quid , tipo_quid, num_sose, num_line, tipo_exec, cod_oriv, fec_quid, num_cuen, flg_line, num_docut, fil_docut, ctl_docut, cod_plan, num_seri, cod_esta, cod_plan_nvo) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) }) or erro "ERR--> insert 1.\n$DBI::errstr"; ################################################################################ imprime "Executing insert 1."; foreach my $row (@$hash_ref) { foreach my $key (%$row) { $row->{$key} = $dbh->quote(undef) unless $row->{$key} } $sth->execute($row->{cod_quid}, $row->{tipo_quid}, $row->{num_sose}, $row->{num_line}, $row->{tipo_exec}, $row->{cod_oriv}, $row->{fec_quid}, $row->{num_cuen}, $row->{flg_line}, $row->{num_docut}, $row->{fil_docut}, $row->{ctl_docut}, $row->{cod_plan}, $row->{num_seri}, $row->{cod_esta}, $row->{cod_plan}) or "Err-> execute insert 1.\n$DBI::errstr"; } $insert = $sth->{Statement}; print "\n$insert\n\n"; OUTPUT: ###DBD::Ingres::st execute failed: E_US10CE 'null' is n ot a valid date. (Tue Sep 25 18:47:33 2001) at ./r.pl line 278. DBD::Ingres::st execute failed: E_US10CE 'null' is not a valid date. (Tue Sep 25 18:47:33 2001) at ./r.pl line 278. DBD::Ingres::st execute failed: E_US10CE 'null' is not a valid date. (Tue Sep 25 18:47:33 2001) at ./r.pl line 278. DBD::Ingres::st execute failed: E_US10CE 'null' is not a valid date. (Tue Sep 25 18:47:33 2001) at ./r.pl line 278. insert into tmp_movimentos_rep (cod_quid , tipo_quid, num_sose, num_line, tipo_exec, cod_oriv, fec_quid, num_cuen, flg_line, num_docut, fil_docut, ctl_docut, cod_plan, num_seri, cod_esta, cod_plan_nvo) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) What´s the matter?? WHY column fec_quid (type --> date) not allowed nulls?? Thank´s Mario Fialho -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]