Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как получить имена полей таблицы, средствами DBI или SQL 
:(
    Опции темы
saint
  Дата 6.2.2006, 00:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 2.9.2005

Репутация: нет
Всего: нет



Подскажите плз. как получить имена полей таблицы. С помощь DBI это можно сделать через Statement Attribute - NAME, примерно следующим образом:

Код

my $sth = $dbh->prepare("SELECT * FROM $tab_name") or die $dbh->errstr;
$sth->execute() or die $dbh->errstr;
print join(" ", @{$sth->{'NAME'}}), "\n";
$sth->finish;


Но в документации к DBI сказано:

Цитата

Some attributes, like NAME, are not appropriate to some types of statement, like SELECT. Typically the attribute will be undef in these situations.


Но для DBI-ODBC у меня данный код нормально отработал и выдал имена всех полей таблицы. Может я чето не так понял? И еще можно ли осуществить сабж средствами SQL, т.е. через соответствующий запрос?

Заранее благодарен.



PM MAIL   Вверх
sharq
Дата 6.2.2006, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Perl Liker
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 13.12.2004
Где: Ростов-на-Дону

Репутация: 23
Всего: 28



saint например, для mysql можно выполнить запрос:
Код

SHOW COLUMNS FROM table_name

или
Код

DESCRIBE table_name


smile


--------------------
[color=gray]There's More Than One Way To Do It[/color]
PM MAIL WWW ICQ Skype   Вверх
saint
Дата 6.2.2006, 20:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 2.9.2005

Репутация: нет
Всего: нет



sharq, у меня на PostgreSQL 8.0.3 это не работает.
PM MAIL   Вверх
sharq
Дата 7.2.2006, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Perl Liker
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 13.12.2004
Где: Ростов-на-Дону

Репутация: 23
Всего: 28



saint
Цитата(saint @ 6.2.2006, 21:29 Найти цитируемый пост)

у меня на PostgreSQL 8.0.3 это не работает.

Цитата(sharq @ 6.2.2006, 13:46 Найти цитируемый пост)

для mysql

smile

Можешь поинтересоваться в документации к СУБД postgres, как с помощью запроса получить что-нибудь похожее.

А зачем тебе только имена полей. Если для того, чтобы обращаться к содержимому поля, то это решается просто - через выборку fetchall_hashref или fetchrow_hashref.

smile


--------------------
[color=gray]There's More Than One Way To Do It[/color]
PM MAIL WWW ICQ Skype   Вверх
saint
Дата 8.2.2006, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 2.9.2005

Репутация: нет
Всего: нет



это нужно, что бы создать таблицу. Общая задача такова: есть бд одного формата, я читаю из нее все таблици и переношу их в бд другого формата.

З.Ы. может кто даст ссылку на стандартные типы данных SQL в виде "название - числовое_обозначение".

PM MAIL   Вверх
sharq
Дата 8.2.2006, 16:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Perl Liker
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 13.12.2004
Где: Ростов-на-Дону

Репутация: 23
Всего: 28



Цитата(saint @ 8.2.2006, 14:44 Найти цитируемый пост)

это нужно, что бы создать таблицу. Общая задача такова: есть бд одного формата, я читаю из нее все таблици и переношу их в бд другого формата.

если это задача одноразовая, то попробуй дампнуть текущую базу и работать уже с дампом как с обычным файлом, произвести замены с помощью re.

Цитата(saint @ 8.2.2006, 14:44 Найти цитируемый пост)

З.Ы. может кто даст ссылку на стандартные типы данных SQL в виде "название - числовое_обозначение".

чем тебя не устраивает стандартная документация к PostgreSQL?

smile


--------------------
[color=gray]There's More Than One Way To Do It[/color]
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0466 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.