2013-08-16 28 views
1

當我在SQL Server編輯器中使用「sp_spaceused」時,它返回兩個結果集。「sp_spaceused」只返回perl中的一個結果集

database_name, database_size, unallocated space 

'Test', '25000.00 MB', '4510.67 MB' 

reserved, data, index_size, unused 

'10741072 KB', '10007904 KB', '661728 KB', '71440 KB' 

但在perl腳本它只有一個返回。

EX:

my $query = "sp_spaceused"; 

my $sth = $dbh->prepare($query) ; 
$sth->execute(); 

while (my @row = $sth->fetchrow_array()) 

{ 

    print " @row \n "; 

} 

輸出:

database_name, database_size, unallocated space 

'Test', '25000.00 MB', '4510.67 MB' 

有什麼辦法來獲取和存儲兩個結果集!

回答

2

試試這個(從here拍攝)

do { 
    while (my @row = $sth->fetchrow_array()) 
    { 
     print " @row \n "; 
    } 
} while ($sth->{odbc_more_results}); 
+1

非常感謝。您的建議對存儲過程結果正常工作。 – Sourcecode