Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Простите, накипело.
|
|||
|---|---|---|---|
|
#18+
GoldДля меня INSTED OF для таблиц - это вобще нонсенс. Я понимаю INSTEAD OF для представлений, но не для таблиц. Ну, в принципе есть некоторое применение. Сходу приходит в голову - заменять удаление записи на update в record_deleted = true. Также им можно эмулировать merge. Gold6) Может я насчёт алиасов и не понимаю. Задача такая: пишу команду типа UPDATE "MyTable" T SET T."Name" = 'zzz'. Буду очень благодарен если вы мне покажете как заставить такой запрос работать. Хм. А почему бы не попробовать убрать "T." после SET? Не понимаю, зачем он там нужен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2006, 14:55 |
|
||
|
Простите, накипело.
|
|||
|---|---|---|---|
|
#18+
Если не хотите учиться работать и понять - конечно разговор бессмысленный. Я раньше - давно - тоже на IB работал. Потом на MS SQL перешел - малость поругался, потом привык. Теперь все наоборот - как-то решил поиспользовать Yaffil (для мелкой локальной программы), так матерился полдня и пальцы попереломал себе :) - после MS SQL такой кошмарррррррр этот интербэйзовский синтаксис, руки бы им оторвал за такие селекты и т.д. Так что нужно сначала на себя посмотреть, а потом уж зеркало молотком :)) -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2006, 14:57 |
|
||
|
Простите, накипело.
|
|||
|---|---|---|---|
|
#18+
2 Gold авторЯ за свои слова отвечаю, потому как когда не работал с MSSQL, так сидел и помалкивал. А теперь я с ним работаю и просто нехочу чтобы вы молодым лапшу вешали про то как хорошо на SQL-сервере. Вы не представляете, я тоже с ним работаю. И тоже не хочу, чтобы "специалисты", знающие инструмент без году неделю вешали молодым лапшу про то, как он плох. авторЯ тебе могу ответить по пунктам: Хм. Я Вам тоже, по пунктам: автор1) INSTEAD OF - это не before. Для меня INSTED OF для таблиц - это вобще нонсенс. Я понимаю INSTEAD OF для представлений, но не для таблиц. Да, это не BEFORE. Но то, что Вы не понимаете, как применить и реализовать функционал BEFORE на INSTEAD OF для табюлицы еще не означает, что это не используют другие. автор2) Обрати внимание на то что вы этого ждали ПЯТЬ лет !!! Это ни в какие ворота не лезет. ВЫ знаете, лично мне за 1, 2, 3 (считает на пальцах) ... 11 работы не было ни жарко ни холодно от того, что не было у MS SQL такого. Чеснслово - как то реализовывал все и без этих "фич". автор3) Представления не должны наследовать ограничения таблиц. Обдумай ситуацию с которой я столкнулся: есть таблица с полем NOT NULL, есть представление на таблице, есть триггер на представлении, который пишет данные в таблицу и всегда заполняет поле NOT NULL конкретным значением. Объясни мне какого хрена представление требует чтобы я при вставке через представление обязательно задавал значение этого поля, а? Хм... Интересная логика. А откуда движку сервера знать, что Вы там в триггере написали?! Разреши Вам вставялть NULL, так Вы и вставите ведь! Как по другому проверить целостность данных, если учесть, что представление, это не реальный объект, а всего-навсего "сохраненный запрос". автор4) У меня если что глючит - я чиню. Глюк в MDAC - это не мой глюк. Конкретно в случае обнаружения бага в Firebird он будет вылечен в течении от нескольких часов до нескольких недель, но не ПЯТЬ лет! Эээ... Какой глюк MDAC вы лечите 5 лет? Можете описать Ваш конкретный глюк? автор5) В консерватории говоришь? Урл по-моему 4Кб может занимать. Т.е. сохранить два урла в таблице - это уже предел для MsSQL или в консерватории неполадки? Или может блобами всё заменить? Может в MSSQL стрроковые блобы так же быстро обрабатываются как строки и имеют такой же богатый набор функций? Тогда снимаю шляпу. Хм... Точно, дело было в консерватории! :) А не приходило в голову, хранить урлы не в полях одной записи, а в одном поле нескольких записей. автор6) Может я насчёт алиасов и не понимаю. Задача такая: пишу команду типа UPDATE "MyTable" T SET T."Name" = 'zzz'. Буду очень благодарен если вы мне покажете как заставить такой запрос работать. Чтобы заставить такой запрос работать, надо приложить хотя бы немного усилий на ИЗУЧЕНИЕ той СУБД, с которой работаешь, в конкретном случаи синтаксис T-SQL. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2006, 15:02 |
|
||
|
Простите, накипело.
|
|||
|---|---|---|---|
|
#18+
2 softwarer: Примененине найти можно. Сама идея - бред. Если я вставляю данные в таблицу, то что может быть вместо? Это ж таблица!!! Я ж говорю что для представления INSTEAD OF - это самое оно, но не для таблицы. По поводу почему убрать нельзя алиасы: можно, но во первых я хочу чтобы мне подсказки по полям всякие умные тулы вываливали когда я набрал алиас точка, во вторых я либу делаю которая запросы генерит - мне удобнее чтобы алиасы были. 2 tygra: Ну во всяком случае ты хотя бы не отрицаешь что в MS SQL куча недостатковю. Лучше помоги мне конкретную проблему решить - похоже я снова на грабли наступил. Как можно об MSSQL после этого хорошо отзываться. Я на большее кол-во граблей уже наступил чем кол-во недель работы с ним :-( В общем напишу щас вопрос в соотв. ветку - помоги пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2006, 15:07 |
|
||
|
Простите, накипело.
|
|||
|---|---|---|---|
|
#18+
Да везде недостатки есть. Надо только привыкнуть и научиться - и их не будет :)) -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2006, 15:11 |
|
||
|
Простите, накипело.
|
|||
|---|---|---|---|
|
#18+
pkarklinХм... Интересная логика. А откуда движку сервера знать, что Вы там в триггере написали?! Разреши Вам вставялть NULL, так Вы и вставите ведь! Как по другому проверить целостность данных, если учесть, что представление, это не реальный объект, а всего-навсего "сохраненный запрос". Хм. Вы прямо таки провоцируете рассказать, как. Ответ: очень просто. Пусть представление получит данные, даст отработать триггерам, попробует вставить в таблицы - и выругается, если обнаружит нарушение ограничений таблиц. Логика же "не уверен, что получится, поэтому на всякий случай не дам" - мягко говоря, не очень удобна. pkarklinХм... Точно, дело было в консерватории! :) А не приходило в голову, хранить урлы не в полях одной записи, а в одном поле нескольких записей. Хм. Этак легко обосновать и преимущество dBase над любым RDBMS Server. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2006, 15:11 |
|
||
|
Простите, накипело.
|
|||
|---|---|---|---|
|
#18+
2 Gold По последнему пункту ответ корректнее будет выглядеть так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. авторПримененине найти можно. Сама идея - бред. Если я вставляю данные в таблицу, то что может быть вместо? Это ж таблица!!! Я ж говорю что для представления INSTEAD OF - это самое оно, но не для таблицы. Вам softwarer привел более чем практические примеры! авторНу во всяком случае ты хотя бы не отрицаешь что в MS SQL куча недостатковю. Хм... А никто этого и не отрицает! авторЛучше помоги мне конкретную проблему решить - похоже я снова на грабли наступил. Как можно об MSSQL после этого хорошо отзываться. Я на большее кол-во граблей уже наступил чем кол-во недель работы с ним :-( В общем напишу щас вопрос в соотв. ветку - помоги пожалуйста. Вот это совсем другой разговор! welкам: http://www.sql.ru/forum/actualtopics.aspx?bid=1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2006, 15:15 |
|
||
|
Простите, накипело.
|
|||
|---|---|---|---|
|
#18+
Ограничение длины записи в MSSQL, конечно, недостаток. Но во-первых, я лично столкнулся с ним за все время один раз, и то обошел. Малоактуальная проблема. Во-вторых, если говорить про пример с URL, то используейте в длинных текстовых полях тип text, а не char/varchar, и будет щастье. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2006, 15:17 |
|
||
|
Простите, накипело.
|
|||
|---|---|---|---|
|
#18+
2 Tygra: Мой вопрос отменяется - воспроизвести не могу. 2 pkarklin: Я пять лет ничего не лечу. Я не могу нйти ответ на вот это ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2006, 15:18 |
|
||
|
Простите, накипело.
|
|||
|---|---|---|---|
|
#18+
GoldПримененине найти можно. Сама идея - бред. Если я вставляю данные в таблицу, то что может быть вместо? Это ж таблица!!! Я же сказал Вам, что может быть вместо. ЭТО - НЕ ТАБЛИЦА. Это - некий логический объект. Который физически может быть "набором таблиц" (в случае партиционирования), представлением, приложением, публикующим данные с другого сервера, чем угодно еще и в том числе "физической таблицей". Скажем, мне однажды потребовалось переделать приложение так, чтобы объекты определенного класса не создавались-уничтожались, а брались из пула. Я переделал конструктор (на операцию "взять из пула") и деструктор (на операцию "вернуть в пул") и вполне доволен. Хотя ожидаю от Вас такого же возгласа: "Это ж конструктор!!!". GoldЯ ж говорю что для представления INSTEAD OF - это самое оно, но не для таблицы. Я Вам только что рассказал, чем это удобно для таблицы. Мало того, на практике достаточно часто оказывается, что некий объект, ранее бывший таблицей, стоит переделать в представление; представление переделать в materialized view (то есть в таблицу) итп. Эти изменения не должны ломать логику системы. GoldПо поводу почему убрать нельзя алиасы: можно, но во первых я хочу чтобы мне подсказки по полям всякие умные тулы вываливали когда я набрал алиас точка, Хм. Умные вываливают без всяких точек, по крайней мере там, где эти точки не нужны. Goldво вторых я либу делаю которая запросы генерит - мне удобнее чтобы алиасы были. Тогда напишите заодно и собственный сервер БД, где они будут именно в таком виде. Боюсь, Вы не столь значимый клиент, чтобы Microsoft решил подладить свои решения под Ваше удобство. Особенно если учесть, сколь криво такое желание само по себе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2006, 15:21 |
|
||
|
Простите, накипело.
|
|||
|---|---|---|---|
|
#18+
А в чем там проблемы? Если вы не выполняли BEGIN TRANSACTION , то и коммит не может пройти. -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2006, 15:23 |
|
||
|
Простите, накипело.
|
|||
|---|---|---|---|
|
#18+
softwarerОтвет: очень просто. Пусть представление получит данные, даст отработать триггерам, попробует вставить в таблицы - и выругается, если обнаружит нарушение ограничений таблиц. Логика же "не уверен, что получится, поэтому на всякий случай не дам" - мягко говоря, не очень удобна. Не исключаю, такой функционал может быть необходим и его стоит "требовать" реализовать от разрабочиков MS SQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2006, 15:26 |
|
||
|
Простите, накипело.
|
|||
|---|---|---|---|
|
#18+
2 mir: А за сколько приёмов считываются сервером поля типа Text, а? Сомневаюсь что за один (нам не подходит по быстродействию). И все ли строковые функции так же замечательно работают с блобами? 2 pkarklin: По поводу представлений softwarer объяснил. С триггерами INSTEAD OF - я не говорю что оно не работает. Я говорю что по-моему оно должно быть не так. Для таблиц BEFORE/AFTER, для представлений INSTEAD OF. Эмулировать MERGE можно и другим способом. По поводу UPDATE с алиасами - это же другой синтаксис, хотя всё равно спасибо, может использую это где-то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2006, 15:28 |
|
||
|
Простите, накипело.
|
|||
|---|---|---|---|
|
#18+
2 Tygra: Как это я не выполнил BEGIN TRANSACTION ? Я его выполнил потому как прохожу условие if (null != Transaction && null != Transaction.Connection && ConnectionState.Open == Transaction.Connection.State) Если его кто-то и не выполнил, то это уж точно не я. Я просматривал это и думаю что это всё-таки виноват MDAC. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2006, 15:34 |
|
||
|
Простите, накипело.
|
|||
|---|---|---|---|
|
#18+
GoldДля таблиц BEFORE/AFTER, для представлений INSTEAD OF Я бы лично предпочел, чтобы все три вида триггеров были и для таблиц, и для представлений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2006, 15:38 |
|
||
|
Простите, накипело.
|
|||
|---|---|---|---|
|
#18+
GoldЯ не могу нйти ответ на вот это Ну так Вы посмотрели профайлером, что у Вас выполняется на сервере? Может У Вас действительно нет соответствующего BEGIN или в коде на стороне сервера где-нить ROLLBACK есть? авторПо поводу UPDATE с алиасами - это же другой синтаксис, Да, но это синтаксис (Transact-SQL extension to DELETE) той СУБД, с которой Вы работаете. авторКак это я не выполнил BEGIN TRANSACTION ? Я его выполнил потому как прохожу условие Настоятельно рекомендую не взирая на кажущуюся правильность клиентского кода посмотреть, что выполняется на сервере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2006, 15:39 |
|
||
|
Простите, накипело.
|
|||
|---|---|---|---|
|
#18+
Вы явно писали где-то BEGIN TRANSACTION ? Если нет - тогда нечего и коммит вызывать, оно само закоммитится. Поле типа текст считывается так же, как и все другие поля - селектом. Ничем не отличается в этом случае. -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2006, 15:40 |
|
||
|
Простите, накипело.
|
|||
|---|---|---|---|
|
#18+
GoldЯ просматривал это и думаю что это всё-таки виноват MDAC. Хм... Вы используете ODBC Call syntax для вызовов хп? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2006, 15:41 |
|
||
|
Простите, накипело.
|
|||
|---|---|---|---|
|
#18+
Привет, tygra! Ты пишешь: tygrat> Поле типа текст считывается так же, как и все другие поля - селектом. t> Ничем не отличается в этом случае.Речь не об этом. -- With best regards, Мимопроходящий. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2006, 15:42 |
|
||
|
Простите, накипело.
|
|||
|---|---|---|---|
|
#18+
GoldА за сколько приёмов считываются сервером поля типа Text, а? Сомневаюсь что за один (нам не подходит по быстродействию). Что есть для Вас "за один прием"?! Сервер (MS SQL считывает) страницами (по 8 кб). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2006, 15:43 |
|
||
|
Простите, накипело.
|
|||
|---|---|---|---|
|
#18+
GoldЕсли его кто-то и не выполнил, то это уж точно не я. Я просматривал это и думаю что это всё-таки виноват MDAC. вторую ссылку ответа поисковика изредка стоит прочитать, а не намертво зацикливаться на первой, тем более такой древней... ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2006, 15:47 |
|
||
|
Простите, накипело.
|
|||
|---|---|---|---|
|
#18+
GoldВобще разговор считаю бессмысленным. 2 _pgSam_: Что бы ты знала: я тебе искренне сочувствую. Надеюсь тебе будет легче от того что не только у вас такие проблемы ;-) Спасиб:) Кстати: тут у вас топик водится. "Сильные стороны MS SQL". Уж больно ситуация похожа... Может это массовая паранойа? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2006, 15:49 |
|
||
|
Простите, накипело.
|
|||
|---|---|---|---|
|
#18+
_pgSam_ GoldВобще разговор считаю бессмысленным. 2 _pgSam_: Что бы ты знала: я тебе искренне сочувствую. Надеюсь тебе будет легче от того что не только у вас такие проблемы ;-) Спасиб:) Кстати: тут у вас топик водится. "Сильные стороны MS SQL". Уж больно ситуация похожа... Может это массовая паранойа? А я вот сейчас подумал: смотрит работодатель и видит что работает у него пара работников с не очень популярной базой и если мало ли чего - трудно их заменить будет. А они (эта пара работников) это понимают и слишком конфортно себя чувствуют, а чуть какие перемены - сразу в штыки. Вывод - надо переходить на другую базу. Посчитал работадатель чего и скока - Оракл вроде дороговато, да и разработчики там дороже, вот и принял такое решение. Может кстати уже и новая команда разработчиков имеется, а вас уже списать решили? И на параною уже не похоже. Скорее всего конечно не так, но не надо считать всех не согласных с вашим мнение дураками. Наверняка есть какие-то резоны, надо попытаться их понять, и может дело и не в откатах (с Оракла то они побольше были б). Борцом за правду конечно уютней себя чувствовать, но неконструктивно - так и будете на всё жаловаться(типа как Gold), вместо того что учиться и нормально работать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2006, 16:20 |
|
||
|
Простите, накипело.
|
|||
|---|---|---|---|
|
#18+
pkarklin GoldЯ не могу нйти ответ на вот это Ну так Вы посмотрели профайлером, что у Вас выполняется на сервере? Может У Вас действительно нет соответствующего BEGIN или в коде на стороне сервера где-нить ROLLBACK есть?Вместо BEGIN TRAN драйверы часто пишут SET IMPLICIT_TRANSACTIONS ON ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2006, 16:34 |
|
||
|
|

start [/forum/topic.php?fid=35&msg=33827927&tid=1553550]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
80ms |
get tp. blocked users: |
1ms |
| others: | 264ms |
| total: | 427ms |

| 0 / 0 |
