|
Как получить список столбцов таблицы
|
|||
---|---|---|---|
#18+
Как получить список столбцов таблицы кроме вычисляемых? Запрос : select * from INFORMATION_SCHEMA.columns where TABLE_NAME=N'LstAnaliz' выдает все столбцы, а как отбросить вычисляемые? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2005, 14:12 |
|
Как получить список столбцов таблицы
|
|||
---|---|---|---|
#18+
Довесить условие COLUMNPROPERTY ( id , column , 'IsComputed' ) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2005, 14:20 |
|
Как получить список столбцов таблицы
|
|||
---|---|---|---|
#18+
sp_columns 'TABLE_NAME' sp_help 'TABLE_NAME' Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2005, 14:48 |
|
Как получить список столбцов таблицы
|
|||
---|---|---|---|
#18+
2Vladimir Kovalevskii: вы бы хоть прочитали пост автора, а не только заголовок топика. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2005, 15:02 |
|
Как получить список столбцов таблицы
|
|||
---|---|---|---|
#18+
точно. не прочитал. но даже если мы работаем с Views, что мешает нам использовать sys_columns, sys_objects? вот что не понятно. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2005, 15:23 |
|
Как получить список столбцов таблицы
|
|||
---|---|---|---|
#18+
Не sys_columns, sys_objects, а syscolumns и sysobjects. Это первое. А второе - зачем. Ответ, как всегда, в BOL: BOLInformation Schema Views Microsoft® SQL Server™ 2000 provides two methods for obtaining meta data: system stored procedures or information schema views. Note To obtain meta data, use system stored procedures, system functions, or these system-supplied views only. Querying the system tables directly may not provide accurate information if system tables are changed in future releases. These views provide an internal, system table-independent view of the SQL Server meta data. Information schema views allow applications to work properly even though significant changes have been made to the system tables. The information schema views included in SQL Server conform to the SQL-92 Standard definition for the INFORMATION_SCHEMA. SQL Server supports a three-part naming convention when referring to the current server. The SQL-92 standard also supports a three-part naming convention. However, the names used in both naming conventions are different. These views are defined in a special schema named INFORMATION_SCHEMA, which is contained in each database. Each INFORMATION_SCHEMA view contains meta data for all data objects stored in that particular database. This table describes the relationships between the SQL Server names and the SQL-92-standard names. This naming convention mapping applies to these SQL Server SQL-92-compatible views. These views are defined in a special schema named INFORMATION_SCHEMA, which is contained in each database. Each INFORMATION_SCHEMA view contains meta data for all data objects stored in that particular database. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2005, 16:29 |
|
Как получить список столбцов таблицы
|
|||
---|---|---|---|
#18+
BOL Note To obtain meta data, use system stored procedures, system functions, or these system-supplied views only. Querying the system tables directly may not provide accurate information if system tables are changed in future releases. замечательно чем плохи sp_* ? (sp - system procedure) а то что в них происходит Direct Query To the System Tables. лан херня. INFORMATION_SCHEMA - отличная и удобная абстракция (а именно таблица) рекоммендованная к использованию разработчиками для соотв. станд SQL-92, применительно к представлениям. и работая с представлениями надо использовать именно её. но кто сказал, что нельзя и по-другому? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2005, 17:27 |
|
Как получить список столбцов таблицы
|
|||
---|---|---|---|
#18+
Извиняюсь за OFFTOPIC если конечно можно это считать таковым. 2 GreenSunrise Естественно, совместимость с будущими версиями очень полезная вещь, но а как быть со скоростю. Использование системных таблиц для получения метаданных дает выгрыш в скорости напорядок выше по сравнению с информационными схеммами, так как они очень обшие. Хотелось бы обсудить эту тему. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2005, 17:53 |
|
Как получить список столбцов таблицы
|
|||
---|---|---|---|
#18+
дает выгрыш в скорости напорядок выше по сравнению с информационными схеммами, так как они очень обшие. Про "на порядок" вы так сказали или тестировали ? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2005, 17:59 |
|
Как получить список столбцов таблицы
|
|||
---|---|---|---|
#18+
Vladimir Kovalevskiiзамечательно чем плохи sp_* ? (sp - system procedure) а то что в них происходит Direct Query To the System Tables. лан херня. Ничем. А кто говорил, что они плохи? Как раз то, что у них происходит ВНУТРИ, никого не волнует. Майкрософт может сколько угодно менять начинку в заявленных процедурах, лишь бы снаружи все возвращалось правильно. Так что процедуры - это замечательно. Vladimir KovalevskiiINFORMATION_SCHEMA - отличная и удобная абстракция (а именно таблица) А именно схема Vladimir Kovalevskiiрекоммендованная к использованию разработчиками для соотв. станд SQL-92 В чем и состоит ее бонус. Соответствие стандарту. Стандарт - это черный ящик. Определяется, что должно быть на входе, что на выходе. Каким образом разработчики этого добьются - их дело. Именно поэтому более правильно (не единственно правильно, а более) использовать вещи, соответствующие стандарту, а не обращение напрямую к системным таблицам, как в вашем примере. Ну и напоследок. Мой пост http://www.sql.ru/forum/actualpost.aspx?bid=1&tid=186277&mid=0&p=1#1564587 относился не к тому, что вы что-то неправильно сказали, а только к тому, что автор спрашивал про то, как отсечь вычисляемые колонки. В то время как ваш ответ был исключительно на вопрос "Как получить список столбцов таблицы". Разве что sp_help могла стать ответом на вопрос, потому как в возвращаемом ею рекордсете есть столбец Computed. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2005, 18:04 |
|
Как получить список столбцов таблицы
|
|||
---|---|---|---|
#18+
2 Gory Тестировал. Но придется верить на слово, так как пример я не приведу ;-) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2005, 18:08 |
|
Как получить список столбцов таблицы
|
|||
---|---|---|---|
#18+
HamletИзвиняюсь за OFFTOPIC если конечно можно это считать таковым. 2 GreenSunrise Естественно, совместимость с будущими версиями очень полезная вещь, но а как быть со скоростю. Использование системных таблиц для получения метаданных дает выгрыш в скорости напорядок выше по сравнению с информационными схеммами, так как они очень обшие. Хотелось бы обсудить эту тему. Приведите результаты тестов и мы с удовольствием ее обсудим. "На порядок" - весьма серьезное заявление. Вы готовы подтвердить его? В конце концов, эти вьюхи - обычные вьюхи, чей код можно посмотреть и чей план выполнения тоже. Скорее всего, если вам надо будет сделать сложный запрос к нескольким вьюхам из INFORMATION_SCHEMA, впихнуть туда кучу джойнов и условий, то да, наверное, проигрыш в скорости будет. И в ситуации, когда я увижу непозволительную потерю производительности для моей конкретной задачи, я откажусь от этих вьюх в пользу прямого обращения к системным таблицам. Но для такого решения я проведу серьезные тесты и приведу конкретные результаты. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2005, 18:10 |
|
Как получить список столбцов таблицы
|
|||
---|---|---|---|
#18+
Hamlet2 Gory Тестировал. Но придется верить на слово, так как пример я не приведу ;-) Извините, не знаю, как Glory, а я предпочту не верить до получения результатов. Вот с ними - пожалуйста. Особенно, если у меня воспроизведется такая потеря. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2005, 18:11 |
|
Как получить список столбцов таблицы
|
|||
---|---|---|---|
#18+
Hamlet2 Gory Тестировал. Но придется верить на слово, так как пример я не приведу ;-) На порядок - это как минимум в 10 раз. Для таких заявления одного честного слова маловато. Хотя можно разумеется построить более простой запрос, чем использован а INFORMATION_SCHEMA ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2005, 18:17 |
|
Как получить список столбцов таблицы
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
Query 1: Query cost (relative to the batch): 77.20% Query 2: Query cost (relative to the batch): 22.80% ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2005, 19:07 |
|
Как получить список столбцов таблицы
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29.
1ый запрос 66 - 146 ms(min/max) 2ой запрос 33-50ms(min/max) Где обещанный на порядок ? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2005, 19:28 |
|
Как получить список столбцов таблицы
|
|||
---|---|---|---|
#18+
по logical reads-ам тоже 884 на 473 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2005, 19:45 |
|
Как получить список столбцов таблицы
|
|||
---|---|---|---|
#18+
А если так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
У меня нет составных ключей ;-)) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2005, 21:17 |
|
Как получить список столбцов таблицы
|
|||
---|---|---|---|
#18+
Пардон, опечатка (спешу домой однако). Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2005, 21:22 |
|
Как получить список столбцов таблицы
|
|||
---|---|---|---|
#18+
!!!!!!! читем внимательно BOL все вместе !!!!!!!!! и насчёт системных процедур. 1. Их КОД ОТКРЫТ. 2. Плохой из тебя программист если ты не знаешь, как работает докумментированная процедура ! ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2005, 11:21 |
|
Как получить список столбцов таблицы
|
|||
---|---|---|---|
#18+
А если ни в таблице sysobjects, ни в INFORMATION_SCHEMA.columns нет пользовательских таблиц? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2021, 10:03 |
|
|
start [/forum/topic.php?fid=46&fpage=22&tid=1684625]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
others: | 276ms |
total: | 427ms |
0 / 0 |