В SQL Server Management Studio 2008 я могу запустить
sp_columns MY_TABLE
, чтобы получить все имена столбцов (под COLUMN_NAME
). Однако как я могу получить ту же информацию, используя Perl DBI?
В частности, я пробовал
my $result = $dbh->selectall_hashref("sp_columns MY_TABLE", 'COLUMN_NAME');
в надежде, что имена столбцов будут ключами возвращенного хэша.
На самом деле, даже если это успешно, это не то, что мне нужно, поскольку мне нужно сохранить порядок столбцов в этой таблице. Поэтому я попытался
my $sth = $dbh->prepare("sp_columns $table");
$sth->execute();
while (my @row = $sth->fetchrow_array) {
# process @row;
}
Но ни один из них не работает. Я получил сообщение об ошибке
DBD::Sybase::db selectall_hashref failed: Server message number=102 severity=15 state=1 line=1 server=XXXX text=Incorrect syntax near '.'
Я также ссылался на этот пост . Видимо следующий запрос НЕ работает в моей Management Studio:
select * from information_schema.columns where table_name = MY_TABLE
с сообщением об ошибке
Msg 208, Level 16, State 1, Line 2
Invalid object name 'information_schema.columns'.
Пожалуйста, помогите? Thx!