Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
разные реализации sql
|
|||
|---|---|---|---|
|
#18+
Всем доброго времени суток! Работаю в MS Access, на любительском уровне. Как-то возникла сложная для задача, обратился к админу. При написании запроса на SQL сильно ругался, что майкрософтовский диалект заметно отличается от общепринятых, по его мнению. Не подскажете, в чем и где именно различия? Буду благодарен за ссылки на статьи, хочется немного просветиться на этот счет, кроме того, есть еще дополнительные причины выяснить различия между реализациями SQL например в Access и mySQL или Oracle. В справке по аксессу ничего нет, перерыл все. В сети - тону, море информации, но ничего такого. Помогите, кто знает, плиз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2004, 23:43 |
|
||
|
разные реализации sql
|
|||
|---|---|---|---|
|
#18+
Фактически у каждой СУБД свой диалект SQL, который они так или иначе приводят в соответсвие тем или иным стандартами, например, SQL2. Язык SQL некоторые СУБД, например, Оракл начали использовать еще до появления первых стандартов. Комитеты или группы по стандартизаци тоже так или иначе учитывают наработки ведущих СУБД, но иногда поступают жестко, как например с JOIN. Однако, в угоду пользователей производители СУБД продлжают добавлять и свое что-то. SQL Access естественно менее выразителен (это ведь файлсерверная СУБД, расчитанная на работу на клиентских компах), чем ORACLE и, наверняка, чем MS SQL (тоже микрософт) - оба серверные. Более того, в Access есть ограничения на сложность запроса, хотя и допустимого по синтаксису. Он просто может сказать, что запрос слишком сложен и все. Если хотите сравнить с ORACLE, то откройте справки ORACLE и Access и сравнивайте. Но берите ORACLE как минимум 9 версии, в 8 JOIN нет еще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2004, 01:11 |
|
||
|
разные реализации sql
|
|||
|---|---|---|---|
|
#18+
ci3ix майкрософтовский диалект заметно отличается от общепринятыхИнтересное мнение, на самом деле, как раз версии от MS по синтаксису наиболее близки к стандарту SQL-92, и практически гарантировано к SQL-89. Или что-то другое подразумевается под общепринятыми ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2004, 06:12 |
|
||
|
разные реализации sql
|
|||
|---|---|---|---|
|
#18+
В стандарте что-нибудь говориться про квадратные скобки ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2004, 08:03 |
|
||
|
разные реализации sql
|
|||
|---|---|---|---|
|
#18+
>>В стандарте что-нибудь говориться про квадратные скобки ? А они необязательны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2004, 08:15 |
|
||
|
разные реализации sql
|
|||
|---|---|---|---|
|
#18+
Standard SQL Оракл в плане соответствия стандартам выглядит много лучше MS. В статье упомянуты только три "больших" вендора. От себя добавлю что Sybase SQL Anywhere is compliant with SQL-99 core specifications. т.е. соответствует стандарту лучше чем кто либо из большой тройки. авторверсии от MS по синтаксису наиболее близки к стандарту SQL-92 бред. наиболее близки по сравнению с кем? то что поддерживается MSSQL называется entry level SQL92 на самом деле SQL89 и есть. покажите мне DBMS которая НЕ поддерживает SQL89? там и поддерживать то нечего толком. :)) А вообще, грубо говоря, никакого "общепринятого SQL" не существует. И для большинства вендоров соответствие стандарту это последнее о чем они подумают планируя развитие продукта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2004, 08:20 |
|
||
|
разные реализации sql
|
|||
|---|---|---|---|
|
#18+
2 Зорин: Oracle 8.1.7.0 не поддерживает join Oracle 9i не поддерживает full outer join Oracle не поддерживает это :- Special syntax (N'string') is provided for representing literals in that character repertoire. Уровни изоляции транзакций в Oracle разве совпадают с Ansi 92? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2004, 08:25 |
|
||
|
разные реализации sql
|
|||
|---|---|---|---|
|
#18+
Учите матчасть Oracle 9i ПОДДЕРЖИВАЕТ full outer join. То что ANSI Join-ы в Oracle фигово работают - это немножко другая тема. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2004, 08:46 |
|
||
|
разные реализации sql
|
|||
|---|---|---|---|
|
#18+
И как можно сравнивать по SQL99, если ещё нет соответвствия SQL92 ?! Грубо говоря, основные возможности мы не поддерживаем, ну так новых фич добавим. Стандар SQL желательно разделить на три части - 1. DDL и создание процедур 2. DML и вызов процедур 3. INFORMATION_SCHEMA Так вот, для клиентского приложение наиболее важно соответствие ВТОРОЙ части стандарта, так как остальное ему по фиг - как тому админу, которому пришлось писать сложный запрос. Ведь админ этот не создавал базу (её вообще отресторить можно при желании) и не лез в INFORMATION_SCHEMA. Вторая часть стандарта наиболее важна, всё остальное - детали реализации и их вообще нет смысла стандартизировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2004, 08:49 |
|
||
|
разные реализации sql
|
|||
|---|---|---|---|
|
#18+
>> Учите матчасть Oracle 9i ПОДДЕРЖИВАЕТ full outer join. Только не работает full outer join . Тема вчера такая на оракловом форуме появилась. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2004, 08:50 |
|
||
|
разные реализации sql
|
|||
|---|---|---|---|
|
#18+
www.fun4me.narod.ru2 Зорин: Oracle не поддерживает это :- Special syntax (N'string') is provided for representing literals in that character repertoire. Уровни изоляции транзакций в Oracle разве совпадают с Ansi 92? Код: plaintext 1. 2. 3. 4. 5. 6. Странно, у меня поддерживает на 8.1.7.4 Вы бы хоть потрудились проверять свои высказывания. По поводу соответствия уровням изоляции транзакций рекомендую почитать Кайта ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2004, 08:50 |
|
||
|
разные реализации sql
|
|||
|---|---|---|---|
|
#18+
www.fun4me.narod.ru>> Учите матчасть Oracle 9i ПОДДЕРЖИВАЕТ full outer join. Только не работает full outer join . Тема вчера такая на оракловом форуме появилась. Еще раз по буквам: Oracle ПОДДЕРЖИВАЕТ full outer join. То что он не работает - вопрос реализации, а не соответствия стандартам. В Oracle есть гораздо более удобная форма выражения outer join, правда не имеющая ничего общего с этим угребищным стандартом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2004, 08:53 |
|
||
|
разные реализации sql
|
|||
|---|---|---|---|
|
#18+
>> То что он не работает - вопрос реализации Ну ладно, Oracle поддерживает, но реализация не соответствует стандарту. Согласитесь ведь, что оракловый full outer join - это далеко не full outer join из ANSI SQL'92. И вообще, какой смысл N'.....' возвращать в типе CHAR(...). Чем тогда CHRACTER отличается от NATIONAL CHARACTER. Согласен, Oracle всё поддерживает, но так, как будто он студент, за неделю диплом написавший. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2004, 09:02 |
|
||
|
разные реализации sql
|
|||
|---|---|---|---|
|
#18+
www.fun4me.narod.ruТак вот, для клиентского приложение наиболее важно соответствие ВТОРОЙ части стандарта, к какой части следует отнести 1. отсутствие раздельных типов данных для DATE и TIME 2. отсутствия ON [DELETE|UPDATE] SET NULL, ON [DELETE|UPDATE] SET DEFAULT 3. отсутствия триггеров и BEFORE и FOR EACH ROW насколько НЕ важны для клиентского приложения эти пункты? www.fun4me.narod.ruГрубо говоря, основные возможности мы не поддерживаем, ну так новых фич добавим. Именно так все и делают. обычно все же последующие стандарты включают в себя предыдущие. какая нах разница что "частично" поддерживать. тем более что изрядное количество фич появляется в стандарте де-факто под давлением вендора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2004, 09:08 |
|
||
|
разные реализации sql
|
|||
|---|---|---|---|
|
#18+
>>к какой части следует отнести >>1. отсутствие раздельных типов данных для DATE и TIME >>2. отсутствия ON [DELETE|UPDATE] SET NULL, ON [DELETE|UPDATE] SET DEFAULT >>3. отсутствия триггеров и BEFORE и FOR EACH ROW Типы данных надо всё же ко второй части отнести, а всё остальное - это проблемы специалиста по конкретной СУБД. Здесь стандарты не столь важны. Я так понимаю, что не могут все СУБД быть одинаковыми. Я вижу смысл только в стандартизации взаимодействия между БД и клиентской программой. А триггеры могут быть в каждой СУБД свои - почему бы и нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2004, 09:17 |
|
||
|
разные реализации sql
|
|||
|---|---|---|---|
|
#18+
Есть такое слово portability. Вот с Sybase на Microsoft еще реально всю систему перевести, ибо языки похожи. А с Microsoft на Oracle проще убить чем вылечить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2004, 09:42 |
|
||
|
разные реализации sql
|
|||
|---|---|---|---|
|
#18+
> А с Microsoft на Oracle проще убить чем вылечить Ничего не поделаешь... На Oracle придётся свою систему писать. А что тут сделаешь? Разве что хранимые процедуры в байт-коде? Чтоб на TCL писать можно было. С плюгинами к PostgreSQL, Oracle и MSSQL как extended xp? Ну так ведь нет таких.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2004, 09:56 |
|
||
|
разные реализации sql
|
|||
|---|---|---|---|
|
#18+
Кто нибудь подскажет мне необразованному, что есть ANSI стандарт на ХП ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2004, 10:19 |
|
||
|
разные реализации sql
|
|||
|---|---|---|---|
|
#18+
SQL92:- 4.17 Procedures A <procedure> consists of a <procedure name>, a sequence of <pa- rameter declaration>s, and a single <SQL procedure statement>. A <procedure> in a <module> is invoked by a compilation unit as- sociated with the <module> by means of a host language "call" statement that specifies the <procedure name> of the <procedure> and supplies a sequence of parameter values corresponding in number and in <data type> to the <parameter declaration>s of the <proce- dure>. A call of a <procedure> causes the <SQL procedure statement> that it contains to be executed. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2004, 10:24 |
|
||
|
разные реализации sql
|
|||
|---|---|---|---|
|
#18+
И кто у нас соответствует этому стандарту ? ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2004, 10:28 |
|
||
|
разные реализации sql
|
|||
|---|---|---|---|
|
#18+
Как то пришлось подправлять руками запрос (лычную непрыязнь испитываю к визардам) в Акцеце с использованием вложенных запросов. Приличное время выполнения так и не получилось, а вот после этого потыкая в визарде нехт, нехт, нехт, Акцец нарисовал что-то страшное, но к моему удивлению достаточно шустрое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2004, 10:37 |
|
||
|
разные реализации sql
|
|||
|---|---|---|---|
|
#18+
если кому интересно, вот COOK BOOK по SQL (поваренная книга) ) . Занимательное я вам скажу чтиво))... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2004, 10:56 |
|
||
|
разные реализации sql
|
|||
|---|---|---|---|
|
#18+
gardenmanесли кому интересно, вот COOK BOOK по SQL (поваренная книга) ) . Занимательное я вам скажу чтиво))... Если не затруднит: Эта книга про SQL в DB2 или про "просто SQL"? thnks. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2004, 12:04 |
|
||
|
разные реализации sql
|
|||
|---|---|---|---|
|
#18+
SQL в DB2. Можно просто посравнивать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2004, 12:30 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=35&tid=1554007]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
59ms |
get topic data: |
13ms |
get forum data: |
4ms |
get page messages: |
71ms |
get tp. blocked users: |
1ms |
| others: | 256ms |
| total: | 439ms |

| 0 / 0 |
