powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Простите, накипело.
25 сообщений из 105, страница 2 из 5
Простите, накипело.
    #33827734
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GoldДля меня INSTED OF для таблиц - это вобще нонсенс. Я понимаю INSTEAD OF для представлений, но не для таблиц.
Ну, в принципе есть некоторое применение. Сходу приходит в голову - заменять удаление записи на update в record_deleted = true. Также им можно эмулировать merge.

Gold6) Может я насчёт алиасов и не понимаю. Задача такая: пишу команду типа UPDATE "MyTable" T SET T."Name" = 'zzz'. Буду очень благодарен если вы мне покажете как заставить такой запрос работать.
Хм. А почему бы не попробовать убрать "T." после SET? Не понимаю, зачем он там нужен.
...
Рейтинг: 0 / 0
Простите, накипело.
    #33827747
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если не хотите учиться работать и понять - конечно разговор бессмысленный.

Я раньше - давно - тоже на IB работал. Потом на MS SQL перешел - малость поругался, потом привык. Теперь все наоборот - как-то решил поиспользовать Yaffil (для мелкой локальной программы), так матерился полдня и пальцы попереломал себе :) - после MS SQL такой кошмарррррррр этот интербэйзовский синтаксис, руки бы им оторвал за такие селекты и т.д.

Так что нужно сначала на себя посмотреть, а потом уж зеркало молотком :))

-- Tygra's --
...
Рейтинг: 0 / 0
Простите, накипело.
    #33827765
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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.
USE pubs
GO

UPDATE
  A
SET
  au_id = au_id
FROM
  authors A
...
Рейтинг: 0 / 0
Простите, накипело.
    #33827786
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 softwarer:

Примененине найти можно. Сама идея - бред. Если я вставляю данные в таблицу, то что может быть вместо? Это ж таблица!!! Я ж говорю что для представления INSTEAD OF - это самое оно, но не для таблицы.

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

2 tygra:

Ну во всяком случае ты хотя бы не отрицаешь что в MS SQL куча недостатковю. Лучше помоги мне конкретную проблему решить - похоже я снова на грабли наступил. Как можно об MSSQL после этого хорошо отзываться. Я на большее кол-во граблей уже наступил чем кол-во недель работы с ним :-( В общем напишу щас вопрос в соотв. ветку - помоги пожалуйста.
...
Рейтинг: 0 / 0
Простите, накипело.
    #33827801
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да везде недостатки есть. Надо только привыкнуть и научиться - и их не будет :))

-- Tygra's --
...
Рейтинг: 0 / 0
Простите, накипело.
    #33827802
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinХм... Интересная логика. А откуда движку сервера знать, что Вы там в триггере написали?! Разреши Вам вставялть NULL, так Вы и вставите ведь! Как по другому проверить целостность данных, если учесть, что представление, это не реальный объект, а всего-навсего "сохраненный запрос".
Хм. Вы прямо таки провоцируете рассказать, как.

Ответ: очень просто. Пусть представление получит данные, даст отработать триггерам, попробует вставить в таблицы - и выругается, если обнаружит нарушение ограничений таблиц. Логика же "не уверен, что получится, поэтому на всякий случай не дам" - мягко говоря, не очень удобна.

pkarklinХм... Точно, дело было в консерватории! :) А не приходило в голову, хранить урлы не в полях одной записи, а в одном поле нескольких записей.
Хм. Этак легко обосновать и преимущество dBase над любым RDBMS Server.
...
Рейтинг: 0 / 0
Простите, накипело.
    #33827818
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Gold

По последнему пункту ответ корректнее будет выглядеть так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
USE pubs
GO

UPDATE
  A
SET
  A.au_id = A.au_id
FROM
  authors A

авторПримененине найти можно. Сама идея - бред. Если я вставляю данные в таблицу, то что может быть вместо? Это ж таблица!!! Я ж говорю что для представления INSTEAD OF - это самое оно, но не для таблицы.

Вам softwarer привел более чем практические примеры!

авторНу во всяком случае ты хотя бы не отрицаешь что в MS SQL куча недостатковю.

Хм... А никто этого и не отрицает!

авторЛучше помоги мне конкретную проблему решить - похоже я снова на грабли наступил. Как можно об MSSQL после этого хорошо отзываться. Я на большее кол-во граблей уже наступил чем кол-во недель работы с ним :-( В общем напишу щас вопрос в соотв. ветку - помоги пожалуйста.

Вот это совсем другой разговор! welкам: http://www.sql.ru/forum/actualtopics.aspx?bid=1
...
Рейтинг: 0 / 0
Простите, накипело.
    #33827823
mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ограничение длины записи в MSSQL, конечно, недостаток. Но во-первых, я лично столкнулся с ним за все время один раз, и то обошел. Малоактуальная проблема. Во-вторых, если говорить про пример с URL, то используейте в длинных текстовых полях тип text, а не char/varchar, и будет щастье.
...
Рейтинг: 0 / 0
Простите, накипело.
    #33827831
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Tygra:

Мой вопрос отменяется - воспроизвести не могу.

2 pkarklin:

Я пять лет ничего не лечу. Я не могу нйти ответ на вот это
...
Рейтинг: 0 / 0
Простите, накипело.
    #33827840
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GoldПримененине найти можно. Сама идея - бред. Если я вставляю данные в таблицу, то что может быть вместо? Это ж таблица!!!
Я же сказал Вам, что может быть вместо.

ЭТО - НЕ ТАБЛИЦА. Это - некий логический объект. Который физически может быть "набором таблиц" (в случае партиционирования), представлением, приложением, публикующим данные с другого сервера, чем угодно еще и в том числе "физической таблицей".

Скажем, мне однажды потребовалось переделать приложение так, чтобы объекты определенного класса не создавались-уничтожались, а брались из пула. Я переделал конструктор (на операцию "взять из пула") и деструктор (на операцию "вернуть в пул") и вполне доволен. Хотя ожидаю от Вас такого же возгласа: "Это ж конструктор!!!".

GoldЯ ж говорю что для представления INSTEAD OF - это самое оно, но не для таблицы.
Я Вам только что рассказал, чем это удобно для таблицы.

Мало того, на практике достаточно часто оказывается, что некий объект, ранее бывший таблицей, стоит переделать в представление; представление переделать в materialized view (то есть в таблицу) итп. Эти изменения не должны ломать логику системы.

GoldПо поводу почему убрать нельзя алиасы: можно, но во первых я хочу чтобы мне подсказки по полям всякие умные тулы вываливали когда я набрал алиас точка,
Хм. Умные вываливают без всяких точек, по крайней мере там, где эти точки не нужны.

Goldво вторых я либу делаю которая запросы генерит - мне удобнее чтобы алиасы были.
Тогда напишите заодно и собственный сервер БД, где они будут именно в таком виде. Боюсь, Вы не столь значимый клиент, чтобы Microsoft решил подладить свои решения под Ваше удобство. Особенно если учесть, сколь криво такое желание само по себе.
...
Рейтинг: 0 / 0
Простите, накипело.
    #33827848
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в чем там проблемы?
Если вы не выполняли BEGIN TRANSACTION , то и коммит не может пройти.

-- Tygra's --
...
Рейтинг: 0 / 0
Простите, накипело.
    #33827857
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerОтвет: очень просто. Пусть представление получит данные, даст отработать триггерам, попробует вставить в таблицы - и выругается, если обнаружит нарушение ограничений таблиц. Логика же "не уверен, что получится, поэтому на всякий случай не дам" - мягко говоря, не очень удобна.

Не исключаю, такой функционал может быть необходим и его стоит "требовать" реализовать от разрабочиков MS SQL.
...
Рейтинг: 0 / 0
Простите, накипело.
    #33827865
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 mir:

А за сколько приёмов считываются сервером поля типа Text, а? Сомневаюсь что за один (нам не подходит по быстродействию). И все ли строковые функции так же замечательно работают с блобами?

2 pkarklin:

По поводу представлений softwarer объяснил. С триггерами INSTEAD OF - я не говорю что оно не работает. Я говорю что по-моему оно должно быть не так. Для таблиц BEFORE/AFTER, для представлений INSTEAD OF. Эмулировать MERGE можно и другим способом. По поводу UPDATE с алиасами - это же другой синтаксис, хотя всё равно спасибо, может использую это где-то.
...
Рейтинг: 0 / 0
Простите, накипело.
    #33827883
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Tygra:

Как это я не выполнил BEGIN TRANSACTION ? Я его выполнил потому как прохожу условие

if (null != Transaction && null != Transaction.Connection && ConnectionState.Open == Transaction.Connection.State)

Если его кто-то и не выполнил, то это уж точно не я. Я просматривал это и думаю что это всё-таки виноват MDAC.
...
Рейтинг: 0 / 0
Простите, накипело.
    #33827898
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GoldДля таблиц BEFORE/AFTER, для представлений INSTEAD OF
Я бы лично предпочел, чтобы все три вида триггеров были и для таблиц, и для представлений.
...
Рейтинг: 0 / 0
Простите, накипело.
    #33827906
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GoldЯ не могу нйти ответ на вот это

Ну так Вы посмотрели профайлером, что у Вас выполняется на сервере? Может У Вас действительно нет соответствующего BEGIN или в коде на стороне сервера где-нить ROLLBACK есть?

авторПо поводу UPDATE с алиасами - это же другой синтаксис,

Да, но это синтаксис (Transact-SQL extension to DELETE) той СУБД, с которой Вы работаете.

авторКак это я не выполнил BEGIN TRANSACTION ? Я его выполнил потому как прохожу условие

Настоятельно рекомендую не взирая на кажущуюся правильность клиентского кода посмотреть, что выполняется на сервере.
...
Рейтинг: 0 / 0
Простите, накипело.
    #33827907
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы явно писали где-то BEGIN TRANSACTION ? Если нет - тогда нечего и коммит вызывать, оно само закоммитится.

Поле типа текст считывается так же, как и все другие поля - селектом. Ничем не отличается в этом случае.

-- Tygra's --
...
Рейтинг: 0 / 0
Простите, накипело.
    #33827913
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GoldЯ просматривал это и думаю что это всё-таки виноват MDAC.

Хм... Вы используете ODBC Call syntax для вызовов хп?
...
Рейтинг: 0 / 0
Простите, накипело.
    #33827914
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет, tygra!
Ты пишешь:

tygrat> Поле типа текст считывается так же, как и все другие поля - селектом.
t> Ничем не отличается в этом случае.Речь не об этом.

--
With best regards, Мимопроходящий.

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Простите, накипело.
    #33827916
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GoldА за сколько приёмов считываются сервером поля типа Text, а? Сомневаюсь что за один (нам не подходит по быстродействию).

Что есть для Вас "за один прием"?! Сервер (MS SQL считывает) страницами (по 8 кб).
...
Рейтинг: 0 / 0
Простите, накипело.
    #33827927
andy st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GoldЕсли его кто-то и не выполнил, то это уж точно не я. Я просматривал это и думаю что это всё-таки виноват MDAC.
вторую ссылку ответа поисковика изредка стоит прочитать, а не намертво зацикливаться на первой, тем более такой древней... ;)
...
Рейтинг: 0 / 0
Простите, накипело.
    #33827936
_pgSam_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GoldВобще разговор считаю бессмысленным.

2 _pgSam_:
Что бы ты знала: я тебе искренне сочувствую. Надеюсь тебе будет легче от того что не только у вас такие проблемы ;-)
Спасиб:)

Кстати: тут у вас топик водится. "Сильные стороны MS SQL". Уж больно ситуация похожа... Может это массовая паранойа?
...
Рейтинг: 0 / 0
Простите, накипело.
    #33828067
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_pgSam_ GoldВобще разговор считаю бессмысленным.

2 _pgSam_:
Что бы ты знала: я тебе искренне сочувствую. Надеюсь тебе будет легче от того что не только у вас такие проблемы ;-)
Спасиб:)

Кстати: тут у вас топик водится. "Сильные стороны MS SQL". Уж больно ситуация похожа... Может это массовая паранойа?
А я вот сейчас подумал: смотрит работодатель и видит что работает у него пара работников с не очень популярной базой и если мало ли чего - трудно их заменить будет. А они (эта пара работников) это понимают и слишком конфортно себя чувствуют, а чуть какие перемены - сразу в штыки. Вывод - надо переходить на другую базу. Посчитал работадатель чего и скока - Оракл вроде дороговато, да и разработчики там дороже, вот и принял такое решение. Может кстати уже и новая команда разработчиков имеется, а вас уже списать решили?
И на параною уже не похоже.

Скорее всего конечно не так, но не надо считать всех не согласных с вашим мнение дураками. Наверняка есть какие-то резоны, надо попытаться их понять, и может дело и не в откатах (с Оракла то они побольше были б). Борцом за правду конечно уютней себя чувствовать, но неконструктивно - так и будете на всё жаловаться(типа как Gold), вместо того что учиться и нормально работать
...
Рейтинг: 0 / 0
Простите, накипело.
    #33828127
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklin GoldЯ не могу нйти ответ на вот это

Ну так Вы посмотрели профайлером, что у Вас выполняется на сервере? Может У Вас действительно нет соответствующего BEGIN или в коде на стороне сервера где-нить ROLLBACK есть?Вместо BEGIN TRAN драйверы часто пишут SET IMPLICIT_TRANSACTIONS ON
...
Рейтинг: 0 / 0
Простите, накипело.
    #33828139
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 hvlad

Именно так. Поэтому надо глянуть трассу и посмотреть, что там реально происходит.
...
Рейтинг: 0 / 0
25 сообщений из 105, страница 2 из 5
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Простите, накипело.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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