Problem mit SQL-Abfrage

Djunix

Mitglied
Hallo!
Ich bin vor kurzem mal angefangen mich mit Perl zu beschäftigen und da stehe ich momentan vor einem Problem. Wenn ich eine SQL-Abfrage in Perl ausführen will, dann bekomme ich da die Fehlermeldung:

DBI::st=HASH(0x833271c)->_prepare(...): attribute parameter '6864' is not a hash ref at /usr/lib/perl5/site_perl/5.8.3/i586-linux-thread-multi/DBD/Oracle.pm line 262.

6864 ist die Kunden-ID, also scheint er den Inhalt des Arrays wohl richtig auszulesen. Allerdings scheint er ein Problem damit zu haben das da innerhalb der prepare-Funktion nen Array auftaucht. Denn je nachdem ob ich das
Array in Anführungszeichen oder Hochkomma setze oder sonstwas mache, ändert sich die Fehlermeldung.

Hier der Code:
Code:
my $stmt=$dbh->prepare("select distinct customer_id from BL_INVOICES where state=0");
$stmt->execute();

#Schleife ueber alle Kunden mit dem Rechnungs-Status 0
while(my @row=$stmt->fetchrow_array)
{
	$customer_id[$c]=$row[0];
	
	$stmt1=$dbh->prepare(
	"select BL_INVOICES.*, 
		BL_INVDTL.service_id,
	 	BL_INVDTL.price,
		BL_INVDTL.tax,
		BL_INVDTL.amount,
		BL_INVDTL.periodfrom,
		BL_INVDTL.periodto
	from 
		BL_INVOICES, 
		BL_INVDTL 
	where 
		state=0 and 
		BL_INVOICES.customer_id=".$customer_id[$c]." and 
		BL_INVOICES.invoice_id= BL_INVDTL.invoice_id";
	
	);
	
	$stmt1->execute();
        
        #Hier weitere Verarbeitung

       	$c++;
}

Hoffe ihr könnt mir weiterhelfen.

Mfg
Daniel
 
hat sich erledigt, er kam anscheinend nicht damit klar das in der while-schleife die die rows ausliest noch eine weiter sql-anweisung ausgeführt wird. hab die jetzt nacheinander geschrieben und da war der fehler weg.
 
Zurück