был создан по ошибке и сейчас мешает.
SELECT
database,
name
FROM system.dictionaries
ORDER BY name ASC
│ dictionary │ dict_name │
│ │ dict_name
это xml-словарь, надо файл удалить (он создан не через create dictionary)
спасибо! сейчас попробую
удалили, теперь пишет что словарь не найден, когда обращаемся через dictGet как сделать так чтобы, когда указываешь литерал словаря не нужно было писать dictionary.dict_name?
никак. Это сделано специально чтобы dictGet мог понять какой словарь запрашивают
но он же должен понимать что если это словарь то подставить схему dictionary?
имя базы, мы про имя базы?
если писать dictGet('aaaa') -- dictGet идет в XML словарь если писать dictGet('db.aaaa') -- dictGet идет в create dictionary(SQLcreated) словарь наличие . (точки) это сигнал для dictGet почему так странно сделано? Потому что автору (возможно китайский студент делал лабараторку по c++ -- это не шутка) так показалось логичнеее.
поняла, спасибо огромное!
логично/нелогично - зато обратно совместимо!
да, наверное надо ввести еще сущность SYNONYM и во всех случаях отдавать приоритет им.
да, это было бы вообще прекрасно, можно будет lightweight staging схемы делать
Обсуждают сегодня