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

Откуда:
Сообщений: 2434
SergSuper
pkarklin

А мне вот больше нравится так:

--объявление поскипано
--тут присвоение значений, которое может быть:
--выборкой
--вызовом функции
--простым присовение
--вычислением
--комбинацией всего вышеописанного
--причем при "вытаскивании" каждого из значений может понадобится его доп. обработка или генерация ошибки
exec dbo.ItemOrderAdd
	@ID		= @ID out,
	@ObjectTypeSysName = 'ItemOrder',
	@OwnerObjectID	= @PersonID,
	@Descript	= @Comment,
	@Date		= @Date,
	@Num		= @Number,
	@PersonID	= @PersonID,
	@PayModeID	= @PayModeID,
	@ItemPriceSum	= @ItemPriceSum,
	@DeliveryPrice	= @DeliveryPrice,
	@ClientAccountPayment = @ClientAccountPayment,
	@PayPropsID	= @PayPropsID
И теперь представим, что все это (описанное выше собственно вызова) будет запихоно в правую часть присвоения. IMHO, приведенный вариант "длиннее", но "читабельнее".

На мой взгляд - анахронизм
например очень часто хочется
exec dbo.ItemOrderAdd
...
	@Num		= @Number + 1

Ни в коем разе!!! Это уже абсолютно избыточно и ни на фиг не нужно для программирования БД
21 апр 09, 16:05    [7093080]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
ддддд
Guest
А мне нравится

proc(param1,param2,param1+param2);
21 апр 09, 16:05    [7093081]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
SergSuper
На мой взгляд - анахронизм
например очень часто хочется
exec dbo.ItemOrderAdd
...
	@Num		= @Number + 1


Ой, если бы все так просто было бы - "+1".
21 апр 09, 16:11    [7093122]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
FreemanZAV
Да это понятно, когда есть только один вариант, он волей-неволей будет нравиться


Во всяком случае, он не вызывает у меня отвращения.
21 апр 09, 16:20    [7093177]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
FreemanZAV
Member

Откуда:
Сообщений: 2434
pkarklin
FreemanZAV
Да это понятно, когда есть только один вариант, он волей-неволей будет нравиться


Во всяком случае, он не вызывает у меня отвращения.

Ну естественно, ведь это же лажа от самого MS
Модератор: попросил бы задумываться немного прежде чем писать


Сообщение было отредактировано: 21 апр 09, 16:45
21 апр 09, 16:22    [7093197]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
FreemanZAV
Ну естественно, ведь это же лажа от самого MS


Ну, понятно... Дальше можете не продолжать...
21 апр 09, 16:32    [7093286]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
aZm
Member

Откуда:
Сообщений: 2357
дддддд
В Oracle в ХП нельзя создать временную таблицу и потом убить ее.
(конечно, если сильно захотеть, то можно, но этого никто не делает)


эммм. это вы намекаете на "невозможность" применения ddl в рамках хранимого кода? бросьте, это как раз возможно, но полностью лежит на совести разработчика :) execute immediate, не говоря уж о dbms_sql, позволяет выполнить много что, причем без всяких танцев с бубном и "сильного хотения". другое дело, что реально такие вещи требуются не часто, в оракле мощный диалект sql - и он позволяет обойтись без формирования времянок на каждый чих.

ps. давно мечтаю, чтобы в рамках конструкции with ... /*+ materialize */ можно было сказать - а проиндексируй-ка мне, дружище, этот самый with по таким то полям ;)
21 апр 09, 16:35    [7093320]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
aZm
дддддд
В Oracle в ХП нельзя создать временную таблицу и потом убить ее.
(конечно, если сильно захотеть, то можно, но этого никто не делает)


эммм. это вы намекаете на "невозможность" применения ddl в рамках хранимого кода? бросьте, это как раз возможно, но полностью лежит на совести разработчика :) execute immediate, не говоря уж о dbms_sql, позволяет выполнить много что, причем без всяких танцев с бубном и "сильного хотения". другое дело, что реально такие вещи требуются не часто, в оракле мощный диалект sql - и он позволяет обойтись без формирования времянок на каждый чих.

ps. давно мечтаю, чтобы в рамках конструкции with ... /*+ materialize */ можно было сказать - а проиндексируй-ка мне, дружище, этот самый with по таким то полям ;)

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

На мой взгляд отсутствие таблиц-переменных в Оракле - такой же анахронизм примерно как и приведённый выше вызов процедур в TSQL. Не сомневаюсь что когда-нибудь они в Оракле будут.

Сообщение было отредактировано: 21 апр 09, 16:54
21 апр 09, 16:52    [7093470]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
Пилот Пиркс
Member

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

В оракле это возможно и без промежуточных таблиц. :)
21 апр 09, 17:20    [7093736]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
Пилот Пиркс
SergSuper
неужели Вам никогда не хотелось использовать данные, которые хранятся в массиве, прямо в запросе?

В оракле это возможно и без промежуточных таблиц. :)
очевидно у нас "это" очень разное
21 апр 09, 17:31    [7093833]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
ддддд
Guest
Чтобы не разводить ненужный флейм

https://www.sql.ru/forum/actualthread.aspx?tid=650533
21 апр 09, 17:38    [7093898]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
ддддд
Чтобы не разводить ненужный флейм

https://www.sql.ru/forum/actualthread.aspx?tid=650533


Баян. Даже в этом топике. ;)
21 апр 09, 17:38    [7093909]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
Пилот Пиркс
SergSuper
неужели Вам никогда не хотелось использовать данные, которые хранятся в массиве, прямо в запросе?

В оракле это возможно и без промежуточных таблиц. :)

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

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

с другой стороны в TSQL нельзя в процедуре как параметр задавать выражение и pkarklin считает что только так и нужно

психология, не более
21 апр 09, 17:43    [7093950]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
надо же
Guest
FreemanZAV
Модератор: попросил бы задумываться немного прежде чем писать
а модератору можно посоветовать не забывать о своей роли модератора.
Wikipedia
Термин «модератор» отражает права, но не поведение лица, наделённого этими правами. Теоретически, модератор отвечает за соблюдение пользователями установленных норм поведения. Однако недобросовестные модераторы стирают сообщения или банят пользователей по своему произволу. Такое поведение, как правило, наказывается администрацией.
Не сваливайтесь в администрирование, плиз.
21 апр 09, 17:45    [7093965]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67468
Блог
SergSuper
психология, не более

Не совсем так. Как минимум, "из стана MSSQL" часто шли утверждения, что разбиение сложного запроса на несколько стадий с хранением промежуточных результатов - необходимо для обеспечения производительности. Присутствующий здесь pkarklin в своё время говорил мне примерно так: да я видел такие запросы, что сервер только план для них будет строить несколько минут.
21 апр 09, 17:45    [7093969]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
softwarer
Присутствующий здесь pkarklin в своё время говорил мне примерно так: да я видел такие запросы, что сервер только план для них будет строить несколько минут.


Подтверждаю. Более того, в приведенном по ссылке чуть выше топике я приводил пример (правда там распределенные запросы), когда разбиение одного запроса на несколько с участием промежуточной временной таблицы может сильно упростить работу оптимизатору и поднять общую производительность.
21 апр 09, 17:49    [7093996]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
ддддддд
Guest
pkarklin
упростить работу оптимизатору .


Каюсь, никогда не задумывался над тем как тяжко приходится оптимизатору, чтобы разобрать мои запросы...
21 апр 09, 17:53    [7094035]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
надо же
FreemanZAV
Модератор: попросил бы задумываться немного прежде чем писать
а модератору можно посоветовать не забывать о своей роли модератора.
Wikipedia
Термин «модератор» отражает права, но не поведение лица, наделённого этими правами. Теоретически, модератор отвечает за соблюдение пользователями установленных норм поведения. Однако недобросовестные модераторы стирают сообщения или банят пользователей по своему произволу. Такое поведение, как правило, наказывается администрацией.
Не сваливайтесь в администрирование, плиз.

Модератор: уважаемый аноним, меня мало интересуют толкование терминов и Ваши советы, если что-то не устраивает - есть кнопка "пожаловаться модератору", но только пишите конкретные претензии, а не общие соображения на тему
21 апр 09, 17:56    [7094056]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
ддддддд
Каюсь, никогда не задумывался над тем как тяжко приходится оптимизатору, чтобы разобрать мои запросы...


Дело не в "разобрать", в в "построить оптимальный план".
21 апр 09, 17:56    [7094061]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
ддддддд
pkarklin
упростить работу оптимизатору .


Каюсь, никогда не задумывался над тем как тяжко приходится оптимизатору, чтобы разобрать мои запросы...
только потому что не было возможности ему помочь
21 апр 09, 17:59    [7094084]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
Senya_L
Member

Откуда: Москва
Сообщений: 5381
SergSuper,

буду конкретней. если бы высказывание FreemanZAV относилось к СУБД отличной от MSSQL, то сомневаюсь, что Вы бы высказали свое мнение. из Вашего профиля это следует. А указать на глупость (если таковая и была) я думаю хватит и так желающих. у Вас есть роль обычного пользователя, так бы и высказали, а не модераторскими вставками.

автор
"пожаловаться модератору"
Это кому? Вам же на Вас же?
21 апр 09, 18:06    [7094140]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
softwarer
SergSuper
психология, не более

Не совсем так. Как минимум, "из стана MSSQL" часто шли утверждения, что разбиение сложного запроса на несколько стадий с хранением промежуточных результатов - необходимо для обеспечения производительности. Присутствующий здесь pkarklin в своё время говорил мне примерно так: да я видел такие запросы, что сервер только план для них будет строить несколько минут.

тем не менее такие запросы бывают (хотя я не видел) и их надо как-то выполнять
у pkarklin-а есть возможность выполнить их за приемлиемое время с использованием временных таблиц, Вы очевидно другой способ найдёте, не факт что он будет проще
21 апр 09, 18:08    [7094154]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67468
Блог
SergSuper
softwarer
SergSuper
психология, не более

Не совсем так. Как минимум, "из стана MSSQL" часто шли утверждения, что разбиение сложного запроса на несколько стадий с хранением промежуточных результатов - необходимо для обеспечения производительности. Присутствующий здесь pkarklin в своё время говорил мне примерно так: да я видел такие запросы, что сервер только план для них будет строить несколько минут.

тем не менее такие запросы бывают (хотя я не видел) и их надо как-то выполнять
у pkarklin-а есть возможность выполнить их за приемлиемое время с использованием временных таблиц, Вы очевидно другой способ найдёте, не факт что он будет проще

Мм.. прошу прощения за оверквотинг, но оставить его необходимо, чтобы показать причудливый путь мысли. И заодно проиллюстрировать одну из любимых моих тенденций в такого рода беседах.

Вы сказали: психология, не более.
Я хочу опровергнуть это утверждение.
Для этого я привёл пример, когда "производительность, а вовсе не психология".

И Вы мгновенно забываете про "психологию" и бросаетесь доказывать, что в Оракле будет не лучше
21 апр 09, 18:13    [7094190]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
Senya_L
SergSuper,

буду конкретней. если бы высказывание FreemanZAV относилось к СУБД отличной от MSSQL, то сомневаюсь, что Вы бы высказали свое мнение. из Вашего профиля это следует. А указать на глупость (если таковая и была) я думаю хватит и так желающих. у Вас есть роль обычного пользователя, так бы и высказали, а не модераторскими вставками.

автор
"пожаловаться модератору"
Это кому? Вам же на Вас же?

давайте судить не по профилю, а по высказываниям
что касается FreemanZAV то это замечание по савокупности, например тут была на него жалоба, но я уже поздно сообразил

писать вставками или еще как...
да хрен его знает как лучше, как написал так написал, что придираться то?
вобще странно - один хамит, а претензии к тому кто ему замечание делает
21 апр 09, 18:17    [7094212]     Ответить | Цитировать Сообщить модератору
 Re: PL/SQL vs.Transact SQL  [new]
Yo.!
Guest
SergSuper

тем не менее такие запросы бывают (хотя я не видел) и их надо как-то выполнять
у pkarklin-а есть возможность выполнить их за приемлиемое время с использованием временных таблиц, Вы очевидно другой способ найдёте, не факт что он будет проще

тридцать второй раз спрашиваю, что лично вам мешает хранить промежуточные результаты в оракловых GTT ? вроде ж 31 раз уже только с вашим участием перетерли ...
21 апр 09, 18:22    [7094250]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3 4 5 6 7 8 9 10 .. 16   вперед  Ctrl
Все форумы / Сравнение СУБД Ответить