Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 посмотреть collation у temporary table  [new]
Bogdan0x400
Member

Откуда:
Сообщений: 30
Есть временная таблица #mytemporarytable, у неё есть колонка name. Как посмотреть collation этой колонки? Этот подход работает для обычных таблиц, но информация про временные таблицы видимо не хранится в таблице sys.objects:
SELECT sys.columns.collation_name
FROM sys.columns
inner join sys.objects on sys.columns.object_id = sys.objects.object_id
WHERE sys.columns.[name]='description' AND (sys.objects.[name]='mytemporarytable' OR sys.objects.[name]='#mytemporarytable')
Так же я пытался посмотреть информацию про эту таблицу в object explorer, но мне выкидаются разнообразные ошибки когда я хочу это сделать.
26 окт 11, 16:27    [11504225]     Ответить | Цитировать Сообщить модератору
 Re: посмотреть collation у temporary table  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Bogdan0x400,

если COLLATE не прописывался явно у колонок таблицы, то он совпадает с COLLATION базы tempdb
26 окт 11, 16:29    [11504244]     Ответить | Цитировать Сообщить модератору
 Re: посмотреть collation у temporary table  [new]
Ennor Tiegael
Member

Откуда:
Сообщений: 3422
FROM tempdb.sys.columns
inner join tempdb.sys.objects
И реальное имя локальной времянки вроде не совпадает с тем именем, по которому вы к ней обращаетесь.
Кажется.
26 окт 11, 16:31    [11504279]     Ответить | Цитировать Сообщить модератору
 Re: посмотреть collation у temporary table  [new]
komrad
Member

Откуда:
Сообщений: 5735
Bogdan0x400,

select OBJECT_NAME(id,2), name,collation  from tempdb.sys.syscolumns where name='name' order by 1,2
26 окт 11, 16:31    [11504287]     Ответить | Цитировать Сообщить модератору
 Re: посмотреть collation у temporary table  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
А вообще, object_id записи в tempdb.sys.objects
должен совпадать с OBJECT_ID(N'tempdb..#mytemporarytable')
26 окт 11, 16:34    [11504327]     Ответить | Цитировать Сообщить модератору
 Re: посмотреть collation у temporary table  [new]
iljy
Member

Откуда:
Сообщений: 8711
Bogdan0x400,

create table #ttt (id int, s varchar(100) collate Latin1_General_CI_AS)

select OBJECT_ID('tempdb..#ttt')

SELECT c.collation_name
FROM tempdb.sys.columns c
WHERE c.[name]='s' AND c.object_id = OBJECT_ID('tempdb..#ttt')

drop table #ttt
26 окт 11, 16:43    [11504401]     Ответить | Цитировать Сообщить модератору
 Re: посмотреть collation у temporary table  [new]
Bogdan0x400
Member

Откуда:
Сообщений: 30
Всем спасибо за ответы, особенно iljy, проблема решена :)
26 окт 11, 17:15    [11504642]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить