powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Object_id() в ASA 9.0.0.1110
16 сообщений из 16, страница 1 из 1
Object_id() в ASA 9.0.0.1110
    #33754217
polexm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!

В ASA недавно, потому вопрос может звучать глупо. До этого работал с MS SQL.

Функция Object_id('table_name') возвращает значение, к примеру, 100745, а в таблице syscolumn в поле table_id хранится значение 745. Почему так?

Спасибо!
...
Рейтинг: 0 / 0
Object_id() в ASA 9.0.0.1110
    #33754339
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Потому что она для совместимости сделана с TSQL ASE/MSSQL. Если задачи совместимости не стоит, то лучше пользоваться родными возможностями ASA, то есть в данном случае получать код с SysTable или написать свою Object_id, если уже привыкли работать с ней.
--
www.rusug.ru - портал русскоязычной группы пользователей Sybase
...
Рейтинг: 0 / 0
Object_id() в ASA 9.0.0.1110
    #33754363
polexm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В SysTable таблицы идентифицируются по имени?
...
Рейтинг: 0 / 0
Object_id() в ASA 9.0.0.1110
    #33754546
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
SELECT Table_id
FROM sys.SysTable
WHERE Creator = User_id('DBA') AND Table_Name = 'Table1';
...
Рейтинг: 0 / 0
Object_id() в ASA 9.0.0.1110
    #33754793
polexm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо!

Такой вопрос: может быть две таблицы с одинаковым именем, но разным Creator?
...
Рейтинг: 0 / 0
Object_id() в ASA 9.0.0.1110
    #33754839
TIB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может...
:) ну а если БД создана как "case sensitive", то допускается даже и одно и то же имя при одном и том же creator'е - но с разными комбинациями больших и малениких букв (Table1<> tAble1) :) (Не рекомендую так делать)
...
Рейтинг: 0 / 0
Object_id() в ASA 9.0.0.1110
    #33755079
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TIBМожет...
:) ну а если БД создана как "case sensitive", то допускается даже и одно и то же имя при одном и том же creator'е - но с разными комбинациями больших и малениких букв (Table1<> tAble1) :) (Не рекомендую так делать)ээээ... нет.
Имена объектов не чувствительны к регистру всегда. Сase sensitivity базы влияет только на сравнение значений типа char(x).
...
Рейтинг: 0 / 0
Object_id() в ASA 9.0.0.1110
    #33755180
TIB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl:
ээээ... нет.
Имена объектов не чувствительны к регистру всегда. Сase sensitivity базы влияет только на сравнение значений типа char(x).

К сожалению, это не так - самый простой пример - зайди с Central и создай там два индекса (индекс - вроде обьект :)) с одинаковым именем, но один - с заглавной буквы, а второй - со строчной... (у меня 7.04 под рукой, но сейчас ради интереса попробую и на 9.02) :)
...
Рейтинг: 0 / 0
Object_id() в ASA 9.0.0.1110
    #33755200
polexm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо!
...
Рейтинг: 0 / 0
Object_id() в ASA 9.0.0.1110
    #33755318
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TIBК сожалению, это не так - самый простой пример - зайди с Central и создай там два индекса (индекс - вроде обьект :)) с одинаковым именем, но один - с заглавной буквы, а второй - со строчной... (у меня 7.04 под рукой, но сейчас ради интереса попробую и на 9.02) :)А ты не забываешь что индексы принадлежат таблицам? Для одной таблицы не может быть двух индексов с именами "ind" и "IND". Зато для двух разных таблиц могут быть индексы с именами "ind" для каждой из таблиц.
...
Рейтинг: 0 / 0
Object_id() в ASA 9.0.0.1110
    #33755322
TIB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl
А ты не забываешь что индексы принадлежат таблицам? Для одной таблицы не может быть двух индексов с именами "ind" и "IND". Зато для двух разных таблиц могут быть индексы с именами "ind" для каждой из таблиц.
Речь идет об одной и той же таблице :)
...
Рейтинг: 0 / 0
Object_id() в ASA 9.0.0.1110
    #33755330
TIB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для одной таблицы не может быть двух индексов с именами "ind" и "IND"

Вот именно что может - могу даже ради прикола Вам на мыло БД с такими индексами выслать :)
...
Рейтинг: 0 / 0
Object_id() в ASA 9.0.0.1110
    #33755352
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучше опубликуй прямо тут скрипт создающий такую базу. Мы все сможем посмотреть и поиграться с ним.
И научись квотить по человечески, это не так уж сложно :)
...
Рейтинг: 0 / 0
Object_id() в ASA 9.0.0.1110
    #33755887
TIB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучше опубликуй прямо тут скрипт создающий такую базу
:) Скрипт, создающий БД из "How to": dbinit -i -j -c d:\test.db
(-i -j указываю, т.к. у меня просто Java Support отсутствует). Можно и в Central'е как обычно создать - но с case sensivity .

Ну а дальше, коннектишься к базе (DBA/SQL) и выполняешь в ISQL вот такой скрипт:

create table tab00(col00 integer primary key,col01 integer,col02 integer,);
create index ind on tab00(col01);
create index IND on tab00(col02);

Дальше смотришь в Central'е во вкладку Indexes - и видишь там аж два индекса - IND и ind :) :) :) - Оба даже работают !

Вот так.

P.S. Данные операции производились на ASA 7.04.3498
...
Рейтинг: 0 / 0
Object_id() в ASA 9.0.0.1110
    #33761609
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А, вот девятка на такие действия ругается...
...
Рейтинг: 0 / 0
Object_id() в ASA 9.0.0.1110
    #33762400
TIB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А, вот девятка на такие действия ругается...
Да, проверил на девятке - там это уже не проходит...
Снова разработчики ASA смолчали - ни слова в "behavior changes" :)

( Так же как в семерке можно было два параметра процедуры с одним и тем же именем определять (один как IN, другой как OUT) - девятка не позволяет - при конвертации наткнулся :) )
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Object_id() в ASA 9.0.0.1110
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]