|
Sybase
|
|
|
|
|
Продукты
|
|
|
|
|
Сообщества
|
|
|
|
|
Меню
|
|
|
|
|
Вход
|
|
|
|
|
Рассылка
|
|
|
|
|
Статистика
|
|
|
|
|
Какой диалект SQL лучше использовать ?
|
Какой диалект SQL лучше использовать ?WatcomSQL - родной диалект для ASA. Находиться в постоянном развитие, все основные прелести ASA реализованны именно в нем.
TransactSQL - дополнительный диалект ASA, сделан для совместимости с Sybase ASE и MSSQL. Поэтому развивается только тогда, когда команда Sybase ASE решает расширить свой TSQL (так же в ASA периодически для совместимости с MSSQL добавляются различные системные функции и процедуры).
В общем, если БД всегда будет на ASA и его никто не планирует в дальнейшем переводить на Sybase ASE или MSSQL, то лучше всего конечно же WatcomSQL. Если же БД должна быть совместима, то нужно включать флаги TSQL-совместимости, забывать про BEFORE-триггера, рекурсивные запросы, обработку ошибок через exceptions и т.д. и т.п.
В базе данных разрешается "смешивать" диалекты, то есть можно одновременно иметь процедуры на WatcomSQL и на TSQL. Внутри скрипта обьекта диалекты смешивать нельзя. Так же нельзя смешивать на разных диалектах триггеры на одну таблицу.
Для работы с диалектами есть встроенные системные функции:
SQLDIALECT ( sql-statement-string )
- определит, на каком диалекте написан переданный скрипт и вернет в виде строки значение 'Watcom-SQL' или 'Transact-SQL'.
TRANSACTSQL ( sql-statement-string )
- перевод скрипта с WatcomSQL на TSQL. В силу больших ограничений TSQL по функциональности перед WatcomSQL, в скрипте будут комментироваться не поддерживающиеся в TSQL куски кода.
WATCOMSQL ( sql-statement-string )
- перевод скрипта с TSQL на WatcomSQL. Скрипт будет перегнан один в один, без потери функциональности.
Так же переводить из одного диалекта в другой можно в Sybase Central, щелкнув на нужной процедуре правой кнопкой мышки и выбрав нужный пункт "Translate to".
|
Дата публикации: Monday 27 March 2006 18:28:15 Материал прочитан: 11973 раз(а) [ Назад ] |
|
|
|
|
|
|
Copyright©2005 . Все права защищены.
|