Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Sybase ASE vs MSSQLServer
|
|||
|---|---|---|---|
|
#18+
2Роман Дынник а как себе представить выполнение DML в рамках SQL? любой запрос на выборку данных не должен выполнять модификации внешних данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 14:27 |
|
||
|
Sybase ASE vs MSSQLServer
|
|||
|---|---|---|---|
|
#18+
Роман Дынник 2 ASCRUS авторВообще то в MSSQL в таких случаях вместо ХП можно использовать UDF, которые вполне нормально можно вызывать в приведенном Вами запросе Не во всех случаях. MSSQL накладывает кучу ограничений на манипуляцию данными в UDF. следующую функцию не удастся даже создать: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. И хорошо, что накладывает. Вот в Sybase ASA в функциях можно что угодно творить и самое пренеприятное, что все это еще работает и даже без ошибок и довольно шустро. В итоге я "таких примеров" насмотрелся использования курсоров, DML и DDL в функциях, что без 100 грамм не разберешь чего хотел разработчик такой логикой сказать. То же самое касается в ASA и ХП, которые можно в секции FROM использовать - пиши что хочешь, ASA все сделает - только вот ни разу мне не пришло почему то в голову в процедуре, которая используется в запросе DDL или DML накатать ... наверное воспитание такое :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 14:45 |
|
||
|
Sybase ASE vs MSSQLServer
|
|||
|---|---|---|---|
|
#18+
AAron авторлюбой запрос на выборку данных не должен выполнять модификации внешних данных Я же говорю что в sybase такую процедуру/функцию написать можно и это штатная возможность а не какая-либо недокументированная. И криминального в этом ничего. А в mssql-нельзя (мелкие опять видимо свои стандарты придумали). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 14:45 |
|
||
|
Sybase ASE vs MSSQLServer
|
|||
|---|---|---|---|
|
#18+
Вот вот. В общем вместо: Код: plaintext Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 14:48 |
|
||
|
Sybase ASE vs MSSQLServer
|
|||
|---|---|---|---|
|
#18+
ASCRUS На вкус и цвет... Что не запрещено, то разрешено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 14:48 |
|
||
|
Sybase ASE vs MSSQLServer
|
|||
|---|---|---|---|
|
#18+
Странные вещи ты говоришь, ASCRUS Если я использую ХП, то могу что-то куда-то заDML-ить, а потом отплюнуться итоговым селектом, и никакие стандарты SQL при этом не нарушаются. Правда и селект из этой сохраненки я не сделаю. Если я использую UDF, то ничего никуда DML-ить я уже не могу. Дескать безобразия низзя творить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 15:11 |
|
||
|
Sybase ASE vs MSSQLServer
|
|||
|---|---|---|---|
|
#18+
Лох ПозорныйСтранные вещи ты говоришь, ASCRUS Если я использую ХП, то могу что-то куда-то заDML-ить, а потом отплюнуться итоговым селектом, и никакие стандарты SQL при этом не нарушаются. Правда и селект из этой сохраненки я не сделаю. Если я использую UDF, то ничего никуда DML-ить я уже не могу. Дескать безобразия низзя творить. Немножко не поняли :) Пользуйтесь наздоровье DML в ХП и UDF. Но извиняюсь неявно во время выполнения запроса организовывать транзакцию - лично для меня диковато. Вы вдумались в запрос, который привел Роман: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 15:40 |
|
||
|
Sybase ASE vs MSSQLServer
|
|||
|---|---|---|---|
|
#18+
далее ... не легче ли писать явный DELETE FROM Table с нужными соединениями и условиями, чем заниматься такими странными вещами ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 15:41 |
|
||
|
Sybase ASE vs MSSQLServer
|
|||
|---|---|---|---|
|
#18+
ASCRUS А если бизнес-логику на уровне записи нужно организовать при удаленнии (т.е. в хп)? ... без транзакций - для простоты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 15:50 |
|
||
|
Sybase ASE vs MSSQLServer
|
|||
|---|---|---|---|
|
#18+
Роман Дынник ASCRUS А если бизнес-логику на уровне записи нужно организовать при удаленнии (т.е. в хп)? ... без транзакций - для простоты. Кто мешает в ХП вызывать DELETE WHERE ... или даже организовать курсор, если уж так позаписям хочется и на каждую запись курсора делать DELETE WHERE id = @id и вызывать себе CALL StoredProcedured (@Param1, @Param2) ??? Зачем это в SELECT-то пихать ??? Можете привести хоть один пример, из которого было бы явно видно, что это был бы разумный метод изменения данных ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 16:03 |
|
||
|
Sybase ASE vs MSSQLServer
|
|||
|---|---|---|---|
|
#18+
ASCRUS Кто мешает в ХП вызывать DELETE WHERE ... или даже организовать курсор, если уж так позаписям хочется и на каждую запись курсора делать DELETE WHERE id = @id и вызывать себе CALL StoredProcedured (@Param1, @Param2) ??? Зачем это в SELECT-то пихать ??? Можете привести хоть один пример, из которого было бы явно видно, что это был бы разумный метод изменения данных ASCRUS , внимательнее ! Роман Дынникменя лично очень расстраивает тот факт, что в mssql нельзя вызвать хп в select-e. т.е. очень удобно, например, написать select xsp_delete(id) from tb. Приходится извращаться либо ч/з курсоры, либо ч/з временные таблицы. Т.е. так и делаю в mssql, либо курсором, либо используя временные таблицы для наполнения id-шниками. Но в sybase то это сделать гораздо проще, короче и лаконичнее ч/з select xsp_del(id) ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 16:10 |
|
||
|
Sybase ASE vs MSSQLServer
|
|||
|---|---|---|---|
|
#18+
Роман Дынник ASCRUS Кто мешает в ХП вызывать DELETE WHERE ... или даже организовать курсор, если уж так позаписям хочется и на каждую запись курсора делать DELETE WHERE id = @id и вызывать себе CALL StoredProcedured (@Param1, @Param2) ??? Зачем это в SELECT-то пихать ??? Можете привести хоть один пример, из которого было бы явно видно, что это был бы разумный метод изменения данных ASCRUS , внимательнее ! Роман Дынникменя лично очень расстраивает тот факт, что в mssql нельзя вызвать хп в select-e. т.е. очень удобно, например, написать select xsp_delete(id) from tb. Приходится извращаться либо ч/з курсоры, либо ч/з временные таблицы. Т.е. так и делаю в mssql, либо курсором, либо используя временные таблицы для наполнения id-шниками. Но в sybase то это сделать гораздо проще, короче и лаконичнее ч/з select xsp_del(id) ... Нет уж - Вы внимательнее :) Я задал вполне нормальный вопрос: Зачем писать функцию, которая удаляет запись и использовать ее в SELECT для удаления записи, когда можно просто написать DELETE FROM Table ? И тут уже не важно для какой СУБД, мне просто сама логика такого действия не очень понятна, прошу обьяснений ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 16:17 |
|
||
|
Sybase ASE vs MSSQLServer
|
|||
|---|---|---|---|
|
#18+
бизнес-логика - в хп. Для множественных операций типа delete from table where id in(...) нужен будет еще один слой(тип) хп типа deleteList в котором практически придется продублировать ту же логику что и для deleteItem, но с учетом множественности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 16:27 |
|
||
|
Sybase ASE vs MSSQLServer
|
|||
|---|---|---|---|
|
#18+
Роман Дынникбизнес-логика - в хп. Для множественных операций типа delete from table where id in(...) нужен будет еще один слой(тип) хп типа deleteList в котором практически придется продублировать ту же логику что и для deleteItem, но с учетом множественности. Не понимаю я, какая может быть такая бизнес-логика навороченная, которую в DELETE прописать нельзя и приходиться специальную ХП писать для этого. Наверное Роман мы просто в разных измерениях мыслим (бывает и такое) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 16:40 |
|
||
|
Sybase ASE vs MSSQLServer
|
|||
|---|---|---|---|
|
#18+
2Роман Дынник Имхо, это неправильно. Ошибка именно проектирования. Наличие какой-то фичи не означает, что надо ее использовать извращенным способом. Например, ножом можно и хлеб резать и кому-то я*ца отделить. За первое тебе ничего не будет, за второе - посадят. Вот приведенный запрос - это второй вариант использования. Поверь, я видел столько кривого кода, что только рад, что MS не обладает такой фичей. Также со "страхом" ожидаю Юкон, т.к. там будет CLR. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 16:43 |
|
||
|
Sybase ASE vs MSSQLServer
|
|||
|---|---|---|---|
|
#18+
Наверное :) Каскадный delete, например. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 16:44 |
|
||
|
Sybase ASE vs MSSQLServer
|
|||
|---|---|---|---|
|
#18+
авторВот приведенный запрос - это второй вариант использования А что будет то, просвятите тёмного. авторИмхо, это неправильно. Ошибка именно проектирования Тогда уж ошибка не проектирования, а реализации CRUD-слоя. В котором часть операций должна быть ориентирована на множественную обработку, вместо обработки на уровне единичной записи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 16:55 |
|
||
|
Sybase ASE vs MSSQLServer
|
|||
|---|---|---|---|
|
#18+
Пишите триггер либо вызывайте ХП на каждую запись, только по человечески. То, что нельзя в MS SQL сделать select * from exec SP - это фигово конечно. Но чтобы вот такие функции - это уже разум отдыхает :)) -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 17:58 |
|
||
|
Sybase ASE vs MSSQLServer
|
|||
|---|---|---|---|
|
#18+
Ну чё вы на человека набросились? Была б такая возможность можно было бы легко Оракловский sequence реализовать Никого же не удивляет insert Tbl exec, а без insert почему-то нельзя ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2004, 18:28 |
|
||
|
Sybase ASE vs MSSQLServer
|
|||
|---|---|---|---|
|
#18+
Роман ДынникЕще - невозможность использования алиасов столбцов в order by Это где Вы проверяли ? Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2004, 02:31 |
|
||
|
Sybase ASE vs MSSQLServer
|
|||
|---|---|---|---|
|
#18+
SergSuper Была б такая возможность можно было бы легко Оракловский sequence реализоватьА надо ли ? :) Ценность, IMHO, неочевидна... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2004, 02:38 |
|
||
|
Sybase ASE vs MSSQLServer
|
|||
|---|---|---|---|
|
#18+
ChA ChAЭто где Вы проверяли ? выше был запрос: Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2004, 09:23 |
|
||
|
|

start [/forum/topic.php?fid=35&msg=32846190&tid=1553980]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
26ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 355ms |

| 0 / 0 |
