Гость
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Разница SQL синтаксиса в MSSQL и Oracle / 25 сообщений из 125, страница 1 из 5
31.01.2005, 16:13
    #32892804
borcik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разница SQL синтаксиса в MSSQL и Oracle
Например в MSSQL
чтобы реализовать транзацию
Begin tran
// ..
Rollback Tran
на Oracle ?

Например в MSSQL есть хороший оператор select TOP 10 *
в Oracle такого нету есть только workaround тут

Есще кто-нибуть везкие знает отличия?
На сколько я помню то Oracle использует PL SQL
...
Рейтинг: 0 / 0
31.01.2005, 16:47
    #32892925
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разница SQL синтаксиса в MSSQL и Oracle
borcikНапример в MSSQL
чтобы реализовать транзацию
Begin tran
// ..
Rollback Tran
на Oracle ?

Например в MSSQL есть хороший оператор select TOP 10 *
в Oracle такого нету есть только workaround тут

Есще кто-нибуть везкие знает отличия?
На сколько я помню то Oracle использует PL SQL
А зачем Вам это ? Поставьте себе доки от MSSQL и Oracle и сравните по всем пунктам, TSQL и PL/SQL разные диалекты, далее совместимости с ANSI92 все в разные стороны расходится.
...
Рейтинг: 0 / 0
31.01.2005, 16:54
    #32892951
borcik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разница SQL синтаксиса в MSSQL и Oracle
Так в том то оно и дело что долго это тут хотелось собрать основные различия и статьи хорошей не нашел. С MSSQL более мение разбираюсь а щас волею сутьбы приходиться с PL/SQL и Oracle разбираться. Даже тот просто rollback незнаю как сделать :(
...
Рейтинг: 0 / 0
31.01.2005, 19:16
    #32893329
AAron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разница SQL синтаксиса в MSSQL и Oracle
а документацию по каждому из продуктов почитать? воспользоваться поиском?
Действительно PL\SQL, который намного богаче по сравнению с TSQL.

Странный вопрос.
...
Рейтинг: 0 / 0
01.02.2005, 13:42
    #32894560
alexey_tm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разница SQL синтаксиса в MSSQL и Oracle
Разница очень большая, если Вас интересует SQL, то Oracle 9i полность соответсвует стандарту SQL1999 и сравнивать следует MSSQL на соответсвие этому стандарту.
Если Вас интересует ПРОЦЕДУРНОЕ расширение SQL - PL/SQL то о существовании стандарта на него (процедурное расширение) я не знаю.
Что касается управления транзакциями, то по умолчаню любой DDL начинается и заканчивается COMMIT, DDL надо фиксировать отдельно (правда в случае использования TOOLS типа SQL*Plus и проча и иже с ними, все зависит от настроек. Существует понятие автономных транзакций. Впрочем документация по PL/SQL занимает порядка тысячи страниц, и все пересказывать трудно. Тем более если Вы захотите использовать объектную опцию (ООП), то и того больше.
По поводу ROWNUM, это только MSSQL может утверждать что может по номеру записи чего-то возвращать, никто Вам не гарантирунет, что запись в реляционной БД будет находится в том же месте ( а если ее удалят?)
...
Рейтинг: 0 / 0
01.02.2005, 13:58
    #32894610
segun
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разница SQL синтаксиса в MSSQL и Oracle
alexey_tmПо поводу ROWNUM, это только MSSQL может утверждать что может по номеру записи чего-то возвращать, никто Вам не гарантирунет, что запись в реляционной БД будет находится в том же месте ( а если ее удалят?) в смысле?
для этого в MSSQL нужно создавать отдельный столбец, как, впрочем, и в других СУБД. Физически записи могут храниться как угодно.
...
Рейтинг: 0 / 0
01.02.2005, 15:33
    #32894958
www.fun4me.narod.ru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разница SQL синтаксиса в MSSQL и Oracle
segun alexey_tmПо поводу ROWNUM, это только MSSQL может утверждать что может по номеру записи чего-то возвращать, никто Вам не гарантирунет, что запись в реляционной БД будет находится в том же месте ( а если ее удалят?) в смысле?
для этого в MSSQL нужно создавать отдельный столбец, как, впрочем, и в других СУБД. Физически записи могут храниться как угодно.

На самом деле, это только в MySQL есть такая фича:
select * from table LIMIT 100092091 7
...
Рейтинг: 0 / 0
01.02.2005, 15:46
    #32894996
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разница SQL синтаксиса в MSSQL и Oracle
www.fun4me.narod.ruНа самом деле, это только в MySQL есть такая фича: select * from table LIMIT 100092091 7
Вопрос не столько в фиче, сколько в эффективности ее реализации. По-хорошему для этого нужны двунаправленные курсоры.
...
Рейтинг: 0 / 0
02.02.2005, 08:40
    #32896049
f_w_p
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разница SQL синтаксиса в MSSQL и Oracle
www.fun4me.narod.ruНа самом деле, это только в MySQL есть такая фича:
select * from table LIMIT 100092091 7
И что это делает?
...
Рейтинг: 0 / 0
02.02.2005, 09:03
    #32896069
AAron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разница SQL синтаксиса в MSSQL и Oracle
это означает, что следует вернуть из выборки записи начиная с ... и всего ... штук.

удобная вещь, конечно.
...
Рейтинг: 0 / 0
02.02.2005, 09:25
    #32896110
Хрен
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разница SQL синтаксиса в MSSQL и Oracle
сходи на сервер mysql , выбери mssql и oracle и смотри себе отличия
...
Рейтинг: 0 / 0
02.02.2005, 09:55
    #32896219
Dogen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разница SQL синтаксиса в MSSQL и Oracle
www.fun4me.narod.ru segun alexey_tmПо поводу ROWNUM, это только MSSQL может утверждать что может по номеру записи чего-то возвращать, никто Вам не гарантирунет, что запись в реляционной БД будет находится в том же месте ( а если ее удалят?) в смысле?
для этого в MSSQL нужно создавать отдельный столбец, как, впрочем, и в других СУБД. Физически записи могут храниться как угодно.

На самом деле, это только в MySQL есть такая фича:
select * from table LIMIT 100092091 7
Это не гарантирует повторяемость результата, т.к. например в таблицах MyISAM удаление записей приводит к появлению пустых строк, заполняемых позже (насколько я понимаю). Если добавить order by, то это становится более полезным. Но вообще смысл имеет при показе последних записей в списке документов и т.д. и т.п., а также при администрировании БД бывает удобно.
...
Рейтинг: 0 / 0
02.02.2005, 12:40
    #32896779
f_w_p
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разница SQL синтаксиса в MSSQL и Oracle
AAronэто означает, что следует вернуть из выборки записи начиная с ... и всего ... штук.
Значит
Код: plaintext
select * from table LIMIT  100092091   7 
вернет 7 записей. Но что такое 100092091?
...
Рейтинг: 0 / 0
03.02.2005, 09:25
    #32898389
alexey_tm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разница SQL синтаксиса в MSSQL и Oracle
www.fun4me.narod.ru
На самом деле, это только в MySQL есть такая фича:
select * from table LIMIT 100092091 7
В Oracle существует понятие ROWID, но так как это ФИЗИЧЕСКИЙ адрес строки, то, как и Вашем случае, гарантировать валидность выбороки в любой момент времени никто не сможет, использую ЛОГИЧЕСКИЙ номер записи (ROWNUM) в запросе можно довольно таки просто реализовать подобный запрос в Oracle, стой разницей, что можно самому пропросить строку из таблицы номер, файла данных номер, блока номер и т.д. (теоретически, я не пробовал)
...
Рейтинг: 0 / 0
03.02.2005, 15:46
    #32899549
AAron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разница SQL синтаксиса в MSSQL и Oracle
2f_w_p
Начиная именно с этой записи. А вообще, я MySQL года 4 не видел уже. Лучше посмотреть в документации.
...
Рейтинг: 0 / 0
04.02.2005, 00:08
    #32900371
andrushok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разница SQL синтаксиса в MSSQL и Oracle
Дык, не ответили однако зачем сие нужно....
Посадили за оракл -
- Забудте все, чему вас учили в школе ...
А. Райкин (С)


... И вперед.
...
Рейтинг: 0 / 0
04.02.2005, 09:07
    #32900593
f_w_p
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разница SQL синтаксиса в MSSQL и Oracle
AAron2f_w_p Начиная именно с этой записи. А вообще, я MySQL года 4 не видел уже. Лучше посмотреть в документации.
Вот я и спрашиваю, к.о. определяется первая запись? Как формируется номер записи?
...
Рейтинг: 0 / 0
04.02.2005, 09:58
    #32900659
Urri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разница SQL синтаксиса в MSSQL и Oracle
Ребята, нет никаких первых и последних записей. Есть только первичные и внешние ключи. Все. Точка.
Хотя, rowid в Oracle бывает полезен при работе с данными в процедурах/функциях.
...
Рейтинг: 0 / 0
04.02.2005, 11:49
    #32900931
alexey_tm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разница SQL синтаксиса в MSSQL и Oracle
UrriРебята, нет никаких первых и последних записей. Есть только первичные и внешние ключи. Все. Точка.
Хотя, rowid в Oracle бывает полезен при работе с данными в процедурах/функциях.
Полностью и целиком согласен. Номер записи это их DBF что было давно и не правда. В реляционной БД номер записи не имеет смысла.
...
Рейтинг: 0 / 0
04.02.2005, 14:15
    #32901428
AAron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разница SQL синтаксиса в MSSQL и Oracle
2f_w_p
Да ко мне-то какие вопросы? я откуда знаю? я только сказал, что выбираются записи с указанного номера. А как оно работает - я уже и не помню.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
11.05.2010, 05:43
    #36620170
pilot911
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разница SQL синтаксиса в MSSQL и Oracle
ну вы даете.. уже и не помните отличных фишек мускуля

100092091 - это значение первой строки из всех найденных

например, LIMIT 10,3 - значит вывести 10,11,12 записи из найденных
...
Рейтинг: 0 / 0
11.05.2010, 09:31
    #36620305
SergSuper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разница SQL синтаксиса в MSSQL и Oracle
pilot911ну вы даете.. уже и не помните отличных фишек мускуля

100092091 - это значение первой строки из всех найденных

например, LIMIT 10,3 - значит вывести 10,11,12 записи из найденныхдетстве не мечтал стать патологоанатомом?
...
Рейтинг: 0 / 0
11.05.2010, 09:33
    #36620309
Saller
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разница SQL синтаксиса в MSSQL и Oracle
pilot911ну вы даете.. уже и не помните отличных фишек мускуля

100092091 - это значение первой строки из всех найденных

например, LIMIT 10,3 - значит вывести 10,11,12 записи из найденных
Всем уже пофик, дату последнего поста посмотри
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
30.05.2014, 12:57
    #38656937
Guest1239756
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разница SQL синтаксиса в MSSQL и Oracle
Saller, мне не пофиг, с удовольствием почитал эту ветку :-)
...
Рейтинг: 0 / 0
30.05.2014, 23:12
    #38657537
29 Белых Котиков
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разница SQL синтаксиса в MSSQL и Oracle
О каком анси можно говорить, если в оракле даже эксцепт минусом обозвали. Ну, объективно же, недоделка и баг.
...
Рейтинг: 0 / 0
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Разница SQL синтаксиса в MSSQL и Oracle / 25 сообщений из 125, страница 1 из 5
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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