Как получить название столбцов в SQL Server ???
От: Cynic Россия  
Дата: 06.12.09 20:47
Оценка:
Люди подскажите плз как получить количество и названия столбцов в базе данных SQL Server
:)
Re: Как получить название столбцов в SQL Server ???
От: MozgC США http://nightcoder.livejournal.com
Дата: 06.12.09 20:58
Оценка: 1 (1)
http://lmgtfy.com/?q=sql+server+list+table+columns =)
Re[2]: Как получить название столбцов в SQL Server ???
От: Cynic Россия  
Дата: 06.12.09 21:19
Оценка: -2
Здравствуйте, MozgC, Вы писали:

MC>http://lmgtfy.com/?q=sql+server+list+table+columns =)


А может лучше так
:)
Re[3]: Как получить название столбцов в SQL Server ???
От: MozgC США http://nightcoder.livejournal.com
Дата: 06.12.09 21:35
Оценка:
Здравствуйте, Cynic, Вы писали:

C>А может лучше так

Спасибо за ссылку, я узнал новое слово в английском языке, полезно будет.

Между тем, если кликнуть по самой же первой ссылке в гугле (по запросу который я дал), узнаем как минимум 2 способа получить колонки таблицы:
exec sp_help mytable;

и
select name from syscolumns where id=object_id('mytable');

Дальнейшая проверка показывает, что примерно половина всех страниц из ТОП 10 гугла по тому запросу содержат ответ на твой вопрос.

Но видимо прошлый урок, когда я уже дал ссылку на гугл, ничему не научил.
На самом деле это не просто понты — нужно всегда в первую очередь пользоваться документацией (MSDN, manual) и поисковиком. Я, например, в поисковике нахожу ответы более чем на половину возникающих у меня вопросов. И только если честно усердно искал, но не нашел в мануале и поисковике, то уже спрашиваю на форуме или у знакомых/друзей в ICQ.
Re[4]: Как получить название столбцов в SQL Server ???
От: bnk СССР http://unmanagedvisio.com/
Дата: 06.12.09 22:10
Оценка: 1 (1)
Здравствуйте, MozgC, Вы писали:

MC>Между тем, если кликнуть по самой же первой ссылке в гугле (по запросу который я дал), узнаем как минимум 2 способа получить колонки таблицы:


И оба "неправильные"

MC>Но видимо прошлый урок, когда я уже дал ссылку на гугл, ничему не научил.

MC>На самом деле это не просто понты — нужно всегда в первую очередь пользоваться документацией (MSDN, manual) и поисковиком. Я, например, в поисковике нахожу ответы более чем на половину возникающих у меня вопросов. И только если честно усердно искал, но не нашел в мануале и поисковике, то уже спрашиваю на форуме или у знакомых/друзей в ICQ.

Ага, напугался?


По сути вопроса, я думаю что лучше было бы просто
SELECT * FROM INFORMATION_SCHEMA.COLUMNS


Это вроде как из стандарта (AFAIK работает на "любой" версии, в том числе на CE, в том числе не только в MS SQL).
Re: Как получить названия столбцов в SQL Server ???
От: Cynic Россия  
Дата: 06.12.09 22:10
Оценка:
Придется самому ответить. Поскольку в русском поиске ни чего не ищется, будем надеяться что Google проиндексирует.
В T-SQL информацию подобного рода получают используя представления(VIEW) — статические запросы, которые можно использовать так, как если бы они были таблицами. Подробнее можно почитать здесь или здесь, как будет угодно.

Для того чтобы получить в базе данных {database_name} названия столбцов таблицы {table} в SQL Server нужно выполнить следующий запрос:
SELECT COLUMN_NAME
FROM {database_name}.INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = '{table}'
:)
Re[5]: Как получить название столбцов в SQL Server ???
От: Cynic Россия  
Дата: 06.12.09 22:12
Оценка:
Здравствуйте, bnk, Вы писали:

Братан ты опередил меня на доли секунды
:)
Re[5]: Как получить название столбцов в SQL Server ???
От: MozgC США http://nightcoder.livejournal.com
Дата: 06.12.09 22:15
Оценка:
Здравствуйте, bnk, Вы писали:

bnk>И оба "неправильные"

bnk>Ага, напугался?

Немного так как с Sql Server не работаю, но искать в гугле вроде умею

bnk>По сути вопроса, я думаю что лучше было бы просто

bnk>
bnk>SELECT * FROM INFORMATION_SCHEMA.COLUMNS
bnk>

bnk>Это вроде как из стандарта (AFAIK работает на "любой" версии, в том числе на CE, в том числе не только в MS SQL).

Этот вариант есть по второй ссылке в гугле, я привел пример только из первой
Re[5]: Как получить название столбцов в SQL Server ???
От: Cynic Россия  
Дата: 06.12.09 22:21
Оценка:
Здравствуйте, bnk, Вы писали:

bnk>По сути вопроса, я думаю что лучше было бы просто

bnk>
bnk>SELECT * FROM INFORMATION_SCHEMA.COLUMNS
bnk>


bnk>Это вроде как из стандарта (AFAIK работает на "любой" версии, в том числе на CE, в том числе не только в MS SQL).


Может ты ещё подскажешь как получить количество столбцов в таблице

Вот ещё вопрос. В стандарте написано о существовании команды SIMILAR TO, а вот T-SQL её не понимает
:)
Re[6]: Как получить название столбцов в SQL Server ???
От: Cynic Россия  
Дата: 06.12.09 22:24
Оценка:
Здравствуйте, MozgC, Вы писали:

bnk>>По сути вопроса, я думаю что лучше было бы просто

bnk>>
bnk>>SELECT * FROM INFORMATION_SCHEMA.COLUMNS
bnk>>

bnk>>Это вроде как из стандарта (AFAIK работает на "любой" версии, в том числе на CE, в том числе не только в MS SQL).

MC>Этот вариант есть по второй ссылке в гугле, я привел пример только из первой


Ну вот по этой ссылке я ответ и нашёл Просто искать надо на англицком, русский поиск ни чего не находит
:)
Re[6]: Как получить название столбцов в SQL Server ???
От: bnk СССР http://unmanagedvisio.com/
Дата: 06.12.09 22:27
Оценка:
Здравствуйте, MozgC, Вы писали:

MC>Этот вариант есть по второй ссылке в гугле, я привел пример только из первой


В общем ты прав конечно, и такие проблемы стоит решать с помощью гугла.
С другой стороны, часто не знаешь, можно так решить определенную проблему или нет.
То есть, является ли то решение, которое дает тебе гугл, "правильным" решением.
Он ведь "не знает", для чего ты его хочешь применять.

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

Re[5]: Как получить название столбцов в SQL Server ???
От: MozgC США http://nightcoder.livejournal.com
Дата: 06.12.09 22:27
Оценка:
Здравствуйте, bnk, Вы писали:

bnk>Это вроде как из стандарта (AFAIK работает на "любой" версии, в том числе на CE, в том числе не только в MS SQL).


Насколько я помню, к примеру в MySql этот "стандарт" появился относительно недавно, да и мне тут подсказывают что он, дословно, "меняется от версии к версии", о чем здесьпишет сам Microsoft:

В представления информационной схемы были внесены определенные изменения, нарушающие обратную совместимость. Эти изменения описаны в разделах, посвященных конкретным представлениям.


Ну и вроде Microsoft не позиционирует эту схему как стандарт, так как сами пишут:

Представление информационной схемы является одним из способов получения метаданных, которые предоставляет SQL Server.

Re[2]: Как получить названия столбцов в SQL Server ???
От: Аноним  
Дата: 08.12.09 16:08
Оценка:
Ты б поставил себе BOL и не мучался гуглением. В статье про INFORMATION_SCHEMA описание всех представлений в кратком виде есть.
Возможно тебе не отвечали на вопрос, т.к. надеялись что ты и сам дойдёшь до всего увидев пример с INFORMATION_SCHEMA.
Re[3]: Как получить названия столбцов в SQL Server ???
От: Cynic Россия  
Дата: 09.12.09 12:03
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Ты б поставил себе BOL и не мучался гуглением.


А что такое BOL

А>Возможно тебе не отвечали на вопрос, т.к. надеялись что ты и сам дойдёшь до всего увидев пример с INFORMATION_SCHEMA.


Да нет они просто воспитанием занимаются. Надо же как-то самомнение поднимать
:)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.