Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 [5] 6 7 8 9 10 .. 16   вперед  Ctrl
 Re: PL/SQL vs.Transact SQL  [new]
FreemanZAV
Member

Откуда:
Сообщений: 2434
MasterZiv
Не только. Sybase тоже поставляет СУБД с языком Transact SQL.
При этом, если не ошибаюсь, до сих пор Transact SQL - зарегистрированная
торговая марка Sybase.

Вот опять Sybase. Да мне без разницы, чья это марка. Купил-то я не у Sybase, а у MS. И то, что MS до сих не исправил косяк Sybase, ему, майкрософту, минус .
22 апр 09, 12:01    [7097166]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
Зайцев Фёдор
Member

Откуда: Лужки
Сообщений: 5308
softwarer
Легко. Вы знаете Delphi. Пакет - это весьма точный аналог unit-а Delphi. Программирование без пакетов - это примерно как программирование на виртовском Паскале, "всё в одном файле".

Чем удобны unit-ы - полагаю, Вы знаете не хуже меня. А если вдруг не знаете и пишете по моде тридцатилетней давности - welcome to the Delphi forum :)

а нельзя ли дать объяснение в доступной сишникам (к примеру) форме ?
просто не совсем ясно, какую роль выполняет пакет - статического класса, пространства имён или что-то ещё
22 апр 09, 12:05    [7097227]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
Зайцев Фёдор
softwarer
Легко. Вы знаете Delphi. Пакет - это весьма точный аналог unit-а Delphi. Программирование без пакетов - это примерно как программирование на виртовском Паскале, "всё в одном файле".

Чем удобны unit-ы - полагаю, Вы знаете не хуже меня. А если вдруг не знаете и пишете по моде тридцатилетней давности - welcome to the Delphi forum :)

а нельзя ли дать объяснение в доступной сишникам (к примеру) форме ?
просто не совсем ясно, какую роль выполняет пакет - статического класса, пространства имён или что-то ещё


MS SQL - все процедуры программы в одном файле
Оракл - программа состоит из кучи файлов, часть из них *.h, часть - *.c
22 апр 09, 12:32    [7097494]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
дддддд
Guest
Пакет - это подобие класса.
он имеет 2 основные части
1.Заголовочная - описание(объявление) типов, переменных, процедур, функций
2.Тело - реализация процедур, функций.

Переменные, описанные в заголовке, являются глобальными для процедур.

процедуры, объявленные в заголовке, видны из других пакетов
процедуры, не объявленные в заголовке являются локальными.

то же самое относится к переменным.

Наследования пакетов нет.
22 апр 09, 12:33    [7097506]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67447
Блог
Зайцев Фёдор
а нельзя ли дать объяснение в доступной сишникам (к примеру) форме ?

Классический Си не обладает соответствующим механизмом, он аналог MSSQL.

Зайцев Фёдор
просто не совсем ясно, какую роль выполняет пакет - статического класса, пространства имён или что-то ещё

То и другое - достаточно близко. Статический класс ближе.
22 апр 09, 12:35    [7097538]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67447
Блог
SergSuper
MS SQL - все процедуры программы в одном файле
Оракл - программа состоит из кучи файлов, часть из них *.h, часть - *.c

Очень плохая аналогия, имхо. В MSSQL они не "в одном файле", а "подключаются по #include". Сишная программа собирается опять-таки в основном по #include (h-файлы - непосредственно, а c-файлы - аналогичным #include механизмом подключаются линкером). В итоге если начать думать, опираясь на эту аналогию, получим "разницы не видно".
22 апр 09, 12:41    [7097603]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
Ёш
Member

Откуда:
Сообщений: 2892
MasterZiv

SergSuper wrote:

> неужели Вам никогда не хотелось использовать данные, которые хранятся в
> массиве, прямо в запросе?

На мой взгляд, если человек пишет на БД код и думает о массивах,
у него что-то не так с головой. Т.е. не должен такой человек программировать
БД. Таблицами надо думать, а не массивами, раз ты в БД.
иногда массивы очень удобны, например:
select a, b, c, d ... where array[a,b,c,d] <@ array[10,20,30,40];
проще и короче чем
... where a = 10 or b = 10 or c = 10 or d = 10 or a = 20 or b = 20 or c = ...
22 апр 09, 12:51    [7097709]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
softwarer
Легко. Вы знаете Delphi. Пакет - это весьма точный аналог unit-а Delphi. Программирование без пакетов - это примерно как программирование на виртовском Паскале, "всё в одном файле".


Готов бы был согласится с Вами, если бы выделенное соответствовало действительности. Файлов, к счастью "много". Вопрос их "управления" - отдельная тема. Никто не оспаривает отдельных преимуществ пакетов в Oraсle в части лучшей "модульности" и "инкапсуляции". Но, IMHO, градация сравнения "намного" ((с) barrabas ) здесь чрезмерна.
22 апр 09, 12:53    [7097729]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67447
Блог
pkarklin
Готов бы был согласится с Вами, если бы выделенное соответствовало действительности. ... Никто не оспаривает отдельных преимуществ ...

Вы говорите примерно следующее: "Я был бы готов признать цвет чёрным, если бы он был идеально чёрным, но цвет #050505 правильнее назвать "немного не белым"".
22 апр 09, 12:59    [7097767]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
softwarer
Вы говорите примерно следующее: "Я был бы готов признать цвет чёрным, если бы он был идеально чёрным, но цвет #050505 правильнее назвать "немного не белым"".


Нет, я имел ввиду именно "не идеально черным".
22 апр 09, 13:09    [7097855]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54783

softwarer

Вы говорите примерно следующее: "Я был бы готов признать цвет чёрным,
если бы он был идеально чёрным, но цвет #050505 правильнее назвать
"немного не белым"".

Если Вы таки считаете, что в классическом паскале всё требовалось
запихивать в один исходник, так Вы таки тоже заблуждаетесь.

Posted via ActualForum NNTP Server 1.4

22 апр 09, 13:09    [7097859]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
aZm
Member

Откуда:
Сообщений: 2357
SergSuper
неужели Вам никогда не хотелось использовать данные, которые хранятся в массиве, прямо в запросе?
Да хоть какой не будь мощный диалект - если у вас процедура из тысяч строк - в любом случае хотя бы для отладки надо смотреть промежуточные результаты


а зачем хотеть, когда можно использовать? оракля это умеет. другое дело, что пользуются этим не сказать чтобы часто - высшего смысла нет.

хотя, сделать bulk collect и потом использовать коллекцию в рамках сиквела запретить может разве что религия ;)
22 апр 09, 13:17    [7097957]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Ёш
иногда массивы очень удобны, например:
select a, b, c, d ... where array[a,b,c,d] <@ array[10,20,30,40];
проще и короче чем
... where a = 10 or b = 10 or c = 10 or d = 10 or a = 20 or b = 20 or c = ...
[/quot]

Согласен. Синтаксический сахар. Того же самого в MS SQL можно добиться с помощью UNPIVOT + IN.
22 апр 09, 13:20    [7097983]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
aZm
Member

Откуда:
Сообщений: 2357
и это... процедура на несколько тысяч строк в pl/sql - вызовет некоторое недоумение. слава ларри элисону, у нас есть возможность разбивать монстров на модули и работать с пакетами ;)
22 апр 09, 13:20    [7097987]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
aZm
и это... процедура на несколько тысяч строк в pl/sql


Гм... А зачем таких монстров создавать?! Не вижу никакой зависимости между отсутствием пакетов и нарушением принципов "модульности", т.е. все в одну хп.
22 апр 09, 13:22    [7098007]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67447
Блог
pkarklin
Нет, я имел ввиду именно "не идеально черным".

Замечательно. Теперь давайте посмотрим, как это соотносится с обсуждаемым вопросом.

Вы попросили аргументировать фразу "намного удобнее/неудобнее". То есть наличие качественного отличия. Я аргументировал аналогией, где unit-ы дают качественное же отличие от предыдущих доступных инструментов. Предыдущий доступный - это "всё в одном файле" плюс #include в роли синтаксического сахара.

И вот теперь Вы говорите "не идеально". То есть аргументируете несогласие с качественным различием наличием мелкого количественного. И просматривается позиция "ну файлов же таки много... какая разница, зачем разбивать на файлы, главное же что много". Формальное выполнение критерия при противоречии фактической сути.
22 апр 09, 13:23    [7098022]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
ддддддд
Guest
pkarklin
aZm
и это... процедура на несколько тысяч строк в pl/sql


Гм... А зачем таких монстров создавать?! Не вижу никакой зависимости между отсутствием пакетов и нарушением принципов "модульности", т.е. все в одну хп.


не понял.
что значит "все в одну хп"
22 апр 09, 13:30    [7098101]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
aZm
Member

Откуда:
Сообщений: 2357
pkarklin
aZm
и это... процедура на несколько тысяч строк в pl/sql


Гм... А зачем таких монстров создавать?! Не вижу никакой зависимости между отсутствием пакетов и нарушением принципов "модульности", т.е. все в одну хп.


монстра в тысячи строк привел в качестве примера коллега sergsuper, я отвечал на его пост.
22 апр 09, 13:33    [7098129]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
ддддддд
не понял.
что значит "все в одну хп"


Нужно еще поискать задачи, дабы невозможно было разбить на модули, отдельные хп или функции, чтобы создавать процедцры таких размеров. Мне, слава Богу с такими не приходилось общаться и создавать таких не приходилось.
22 апр 09, 13:37    [7098173]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
ддддд
Guest
Тогда что Вы подразумеваете под словом "модули"?
22 апр 09, 13:49    [7098299]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
ддддд
Тогда что Вы подразумеваете под словом "модули"?


Ну так прямо в моем высказывании после запятой...
22 апр 09, 13:52    [7098325]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
дддддд
Guest
Это типа "после дождичка в четверг"?
22 апр 09, 14:13    [7098539]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
дддддд
Это типа "после дождичка в четверг"?


Нет.

pkarklin
Нужно еще поискать задачи, дабы невозможно было разбить на модули, отдельные хп или функции, чтобы создавать процедцры таких размеров. Мне, слава Богу с такими не приходилось общаться и создавать таких не приходилось.
22 апр 09, 14:29    [7098699]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
дддддд
Guest
Я не знаю, что означает понятие "модуль" в Оракле.
22 апр 09, 14:38    [7098795]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
Неизвестный
Guest
SergSuper

кроме таблиц-переменных на мой взгляд ничего полезного по сравнению с PL/SQL у него нет

переходить и туду и туда сложно
перейдя на Оракл мне показалось что я вернулся на 15 лет назад, уверен что такие же ощущения испытывают оракловцы переходя на MS


В PL/SQL можно в глобальных пакетных переменных сохранять PL/SQL-таблицы и потом делать к ним SELECT-запросы. Или в локальной переменной метода создать PL/SQL-таблицу и затем делать к ней SELECT-запросы в этом методе. В Oracle 10g это работает.
При переходе с TransactSQL на PL/SQL вспоминал, как хорошо была сделана документация по TransactSQL и MS SQL вообще по сравнению с документацией по PL/SQL и другой документацией Oracle. А вообще переход не сложен, просто другой язык, например, перейти с MS FoxPro на Borland C++ Builder было больше по времени (так как было больше ключевых слов, которые надо было запомнить, в PL/SQL по сравнению с языками типа C# или Java языковых конструкций мало,переход можно сделать быстро).
22 апр 09, 15:28    [7099287]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 [5] 6 7 8 9 10 .. 16   вперед  Ctrl
Все форумы / Сравнение СУБД Ответить