|
|
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
pkarklin Где вываливается название таблицы? Я же просил показать Вас весь скрипт и весь его вывод. я ответил, что в моем ответе не понятно ? вы потратили хотя бы 5 минут на изучение своего же скрипта ? в вывод скрипта попадает даже такие процедуры: CREATE procedure [dbo].[t2] as insert into dbo.a values (15,'shit'); сделайте процедуру в которой фигурирует table.col1 и вторую где фигурирует table.col2 и увидите что что в вывод скрипта попадают обе процедуры, не зависимо col1 или col2 сейчас называется колонка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2009, 13:36 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
barrabas...зависимые объекты скидывать в инвалиды как оракл и не компилить(давать выполнять) пока не исправишь. Кстати у кого кроме оракла еще статусы есть? у посгриса точно не было.В DB2 есть. Очень удивлен, что их нет у остальных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2009, 13:44 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
Yo.!я ответил, что в моем ответе не понятно ? вы потратили хотя бы 5 минут на изучение своего же скрипта ? в вывод скрипта попадает даже такие процедуры: CREATE procedure [dbo].[t2] as insert into dbo.a values (15,'shit'); Да ничего не было понятно в Вашем скрипте. Зачем то анализ @@error воткнули, и sp_rename каких-то неведомых таблиц. Yo.!сделайте процедуру в которой фигурирует table.col1 и вторую где фигурирует table.col2 и увидите что что в вывод скрипта попадают обе процедуры, не зависимо col1 или col2 сейчас называется колонка. Ну раз Вы это уже проделали, то, черт возьми, почему я у Вас этот скрипт выдираю с таким трудом?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2009, 13:44 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
pkarklin Да ничего не было понятно в Вашем скрипте. Зачем то анализ @@error воткнули, и sp_rename каких-то неведомых таблиц. интересный ход, скрипт уже мой. зачем я внес @@error я объяснил один раз, требуется еще раз ? таблицы, чего полезного вам даст структура неведомых таблиц, чего не видно из предоставленого скрипта и его вывода ? pkarklin Ну раз Вы это уже проделали, то, черт возьми, почему я у Вас этот скрипт выдираю с таким трудом?! потому как благодоря эргономичному гуи менеджмент студии мне совершенно не улыбается еще пол дня все переименовывать назад и восстанавливать скрипты по памяти. был бы оракл я бы уже вывалил листинг с терминала, а тут все занового ? ну и по делу, обычное увеличение размерности поля приводит к ролбэку, т.е. на alter table a alter column myname varchar(50) скрипт ошибочно выдает: Msg 3930, Level 16, State 1, Line 26 The current transaction cannot be committed and cannot support operations that write to the log file. Roll back the transaction. Msg 3998, Level 16, State 1, Line 1 Uncommittable transaction is detected at the end of the batch. The transaction is rolled back. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2009, 14:03 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
Yo.!скрипт ошибочно выдает: Msg 3930, Level 16, State 1, Line 26 The current transaction cannot be committed and cannot support operations that write to the log file. Roll back the transaction. Msg 3998, Level 16, State 1, Line 1 Uncommittable transaction is detected at the end of the batch. The transaction is rolled back. Вы проверку то @@error убрали, ибо она ТАМ всегда будет 0, вот Вы и коммитите, что нельзя впринципе коммитеть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2009, 14:06 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
pkarklin Вы проверку то @@error убрали, ибо она ТАМ всегда будет 0, вот Вы и коммитите, что нельзя впринципе коммитеть. убрал, алтер ошибочно ролбечится в вывод попадает список всех процедур в которых фигурирует таблица a, все процедуры "прямые". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2009, 14:20 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
Yo.!значит перед накаткой патча в других редакциях будут делать бэкап. Удобный подход. а главное - универсальный ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2009, 15:24 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
locky Удобный подход. а главное - универсальный он правильный, конечно не так удобно как флашбэк базы, ну уж точно поудобней гаданий "прокатит/не прокатит" в мсскл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2009, 15:51 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
Yo.!locky Удобный подход. а главное - универсальный он правильный, конечно не так удобно как флашбэк базы, ну уж точно поудобней гаданий "прокатит/не прокатит" в мсскл. ну, в 2008 то можно проверить :) Лично я могу проверить и на 2005, но это не благословленно майкрософтом :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2009, 16:04 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
Пофлудим немного. ;) Зато по теме. С точки зрения синтаксиса - PL несомненно богаче. НО! На самом деле, большинство "уникальных" фичей обоих продуктов (PL/SQL нельзя рассматривать в отрыве от Oracle, как и T-SQL без MSSQL) с точки зрения другого языка выглядят либо как ненужные, либо, как неумелая попытка реализовать то, что в другом прекрасно работает изначально. Основная разница в том, что в TSQL основой остаются SQL-запросы и весь код TSQL выполняется непосредственно под управлением движка СУБД, в то время как PL/SQL - это программы, полноценно скомпилированные вплоть до команд процессора и неким образом взаимодействующие с СУБД. Поэтому и заходит спор по поводу невалидности объектов - в T-SQL лично я практически не сталкивался с такой проблемой, в наших решениях на MSSQL совершенно нормально применение конструкции: Код: plaintext 1. 2. 3. 4. 5. В PL/SQL такую логику в рамках одной процедуры реализовать просто невозможно (если не пользоваться динамикой, конечно). Ну и такая вещь, как рекомпиляция отдельных запросов в процедре для PL/SQL недоступна. (Хотя соглашусь, что это не ахти какое критичное достоинство, но есть системы, для которых такое актуально). Из действительно важных лично мне различий - в PL/SQL (по крайнем мере в 10-ке) нельзя в триггере выяснить, для какого набора данных был вызван триггер. То, что в Oracle есть построчные триггера - это конечно здорово, (и совсем хорошо, что Оракл не тормозит из-за построчной обработки) но то, что нельзя выяснить, какие строки обновились запросом, поднявшим триггер ограничивает уже принятие архитектурных решений. В любом случае, длятого, чтобы выбрать между этими языками нужно опять же хорошо знать не столько языкаи, сколько сами СУБД. А решение все равно принимать будет начальник в зависимости от того, какой из фирм была оплачена последняя прочитанния им статья про СУБД в каком-нибудь Вестнике CIO или "Компьютерре". ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2009, 01:33 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
DeColo®es Из действительно важных лично мне различий - в PL/SQL (по крайнем мере в 10-ке) нельзя в триггере выяснить, для какого набора данных был вызван триггер. То, что в Oracle есть построчные триггера - это конечно здорово, (и совсем хорошо, что Оракл не тормозит из-за построчной обработки) но то, что нельзя выяснить, какие строки обновились запросом, поднявшим триггер ограничивает уже принятие архитектурных решений. Воистину, специалист подобен флюсу (с) Козьма Прутков Кстати, PL/SQL далеко не всегда компилируется до команд процессора. Я бы даже сказал, в исключительно редких случаях ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2009, 08:12 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
DeColo®es Основная разница в том, что в TSQL основой остаются SQL-запросы и весь код TSQL выполняется непосредственно под управлением движка СУБД, в то время как PL/SQL - это программы, полноценно скомпилированные вплоть до команд процессора и неким образом взаимодействующие с СУБД. брр. в оракле есть 2 энжина - sql и plsql. а то, что вы говорите - это уже внешние процедуры, вызываемые базой, разве нет ;)? DeColo®es То, что в Oracle есть построчные триггера - это конечно здорово, (и совсем хорошо, что Оракл не тормозит из-за построчной обработки) но то, что нельзя выяснить, какие строки обновились запросом, поднявшим триггер ограничивает уже принятие архитектурных решений. вы с методой обхода мутаций знакомы? она как раз отлично позволяет при помощи пакета, содержащего переменную типа коллекция и еще одного тригера after уровня стейтмент получить список заафекченных в рамках операции строк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2009, 10:14 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
aZmDeColo®es Основная разница в том, что в TSQL основой остаются SQL-запросы и весь код TSQL выполняется непосредственно под управлением движка СУБД, в то время как PL/SQL - это программы, полноценно скомпилированные вплоть до команд процессора и неким образом взаимодействующие с СУБД. брр. в оракле есть 2 энжина - sql и plsql. а то, что вы говорите - это уже внешние процедуры, вызываемые базой, разве нет ;)? О том и речь, что PL/SQL это уже не совсем Oracle DB, а некая (пусть и очень плотно) пристроку к нему. ;) aZmвы с методой обхода мутаций знакомы? она как раз отлично позволяет при помощи пакета, содержащего переменную типа коллекция и еще одного тригера after уровня стейтмент получить список заафекченных в рамках операции строк.С технолонией не знаком. Но дополнительный триггер - это очередная подпорка, а так хочется уже обходиться без них и в Oracle и в MSSQL. А ответ на исходный вопрос очень простой: PL/SQL отличается от T-SQL тем, что первый позволяет писать код для баз данных, работающих под управлением Oracle, второй - делать практически то де самое для баз под управлением MSSQL. Эффективность применения обоих зависит исключительно от квалификации применияющего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2009, 21:48 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
DeColo®es Эффективность применения обоих зависит исключительно от квалификации применияющего. ну да, давай. примени мне эффективно t-sql для логирования любых попыток изменить поле (в том числе и rollbackчных) или сквозной нумерации нескольких таблиц с документами или передачи массива с клиента в сторед процедуру ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2009, 22:00 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
Yo.!DeColo®es Эффективность применения обоих зависит исключительно от квалификации применияющего. ну да, давай. примени мне эффективно t-sql для логирования любых попыток изменить поле (в том числе и rollbackчных) или сквозной нумерации нескольких таблиц с документамиНе вопрос. Решение для нумерации тут . SEQUENCE можно задавать динамически, без необходимости делать create: Код: plaintext Аналогично делается и любая другая "внетранзакционная" работа. Если что-то нужно перенести "через" rollback - есть табличные переменные, rollback к ним не применяется. А вообше задача "логировать попытки изменить поле, если произошел rollback" мне не очень понятна. Бизнес , (который заказывает и оплачивает разработку) не просил такого ни разу. По крайней мере, у меня. Хотелки аналитиков, которым в ТЗ больше написать нечего и фантазии разработчиков - не в счет. В принципе, у меня в проекте запланирована такая доработка - "запись информационных сообщений вне транзакции".... Да вот опять же - пока не просят. Попросят - дня за 2 будет написана и оттестирована соответствующая функция. Yo.!или передачи массива с клиента в сторед процедуру Одного параметра типа XML пока вполне хватает. PS И давайте не будем устраивать очередной холивар. Скучно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2009, 00:45 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
DeColo®es PS И давайте не будем устраивать очередной холивар. ваши "решения" столь простеньких задачек на столько красиво продемонстрировали, что эффективность решения во многом зависит и от инструмента, что собственно холивар тут абсолютно лишний... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2009, 01:09 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
Yo.!ваши "решения" столь простеньких задачекНе путайте бизнес-задачу и то, какими инструментами она решается в конкретной СУБД. Я не занимаюсь программированием ради программирования - это удел периода олбучения в школе и институте. Жизнь не ставит задачи "внетранзакционного логирования". Жизнь ставит задачу "шоб усё работало, срок - вчера". Есть в Оракле изолированные транзакции на уровне синтаксиса PL/SQL - очень рад за него. Нет изолированных транзакций в какой-то другой СУБД - значит это не самая актуальная проблема эксплуатации такой системы. Проблемы возникают в основном тогда, когда разработчик, привыкший к одной платформе, начинает разрабатывать что-то на другой, не меняя привычную для себя методологию. Те задачи (например, какая-нибудь хитрая обработка массива данных), для которых в PL/SQL нормальный программист будет пользоваться технологией курсоров, на T-SQL решаются при помощи таблиц и табличных переменных. В случае, если код "адекватен платформе", оба решения будут и "красивыми" и быстрыми. Но если попробовать переписать решение PL/SQL на T-SQL "в лоб", считая "задачей" именно использование курсора, а не получение бизнес-результата, разработчика ждет мягко говоря, разочарование. PS Если вы сможете посмотреть за пределы своей фанатичной и безответной любви к Oracle, вы увидите, что самая хорошая система для России - это не Oracle и не MSSQL и даже не Cache (в котором и блокировок-то человеческих нет, а некоторые решения на его базе продают аж по $1500 за рабочее место) а всеми "правильными" программистами нелюбимый 1С. Потому, что большинство реальных задач более-менее успешно автоматизируется при помощи решений и алгоритмов, написанных разработчиками 1С и/или на платформе 1С. А уж что они в качестве хранилища используют и насколько их решения "правильны" с точки зрения абстрактного программиста - никого из бизнеса не волнует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2009, 10:29 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
2 DeColo®es, браво! при том, что я работал и с навиком и с сапом и успешно внедрял джидиэдвардс, абсолютно согласен с Вами, для нашей страны 1С - это самое то, что надо а для 1С нормальное хранилище - это MSSQL...оракл только с грядущей версии появится и то я рискну пересесть на него не раньше чем через год и не факт что вообще перейду ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2009, 12:29 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
DeColo?esЖизнь не ставит задачи "внетранзакционного логирования". Жизнь ставит задачу "шоб усё работало, срок - вчера". Мне вот, например, жизнь ставит задачу "транзакционного логгирования". Причём включая случаи когда изменяется значение первичного ключа записи. Как мне решить эту задачу в T-SQL, не впадая в ошибку "запись удалили, а потом добавили совсем другую"? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2009, 12:37 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
_bob2 DeColo®es, браво! при том, что я работал и с навиком и с сапом и успешно внедрял джидиэдвардс, абсолютно согласен с Вами, для нашей страны 1С - это самое то, что надо а для 1С нормальное хранилище - это MSSQL...оракл только с грядущей версии появится и то я рискну пересесть на него не раньше чем через год и не факт что вообще перейду Они на postgresql перейти нормально не могут. Если они и там будут полностью блокировать таблицы и писать кривые выборки сомневаюсь что оно будет быстрее чем на MSSQL. А вот, к примеру, ежли они связываемые переменные "забудут", это будет вообще эталон тормозов. Хотя, может , у заказчиков полно денег и им десяток серверов нефиг делать купить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2009, 12:37 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov DeColo?esЖизнь не ставит задачи "внетранзакционного логирования". Жизнь ставит задачу "шоб усё работало, срок - вчера". Мне вот, например, жизнь ставит задачу "транзакционного логгирования". Причём включая случаи когда изменяется значение первичного ключа записи. Как мне решить эту задачу в T-SQL, не впадая в ошибку "запись удалили, а потом добавили совсем другую"? а там (в M$SQL) первичный ключ(автоинкрементный) стало можно менять? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2009, 12:43 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
ОКТОГЕНа там (в M$SQL) первичный ключ(автоинкрементный) стало можно менять? дык ужо лет 10 как можно, даже особо не напрягаясь.. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2009, 12:52 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
ОКТОГЕН а там (в M$SQL) первичный ключ(автоинкрементный) стало можно менять? А там первичные ключи можно делать только на автоинкрементные поля? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2009, 12:55 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
DeColo®es В случае, если код "адекватен платформе", оба решения будут и "красивыми" и быстрыми. не флейма не получится, если вы на полном серьезе считаете воркэраунд с xml красивым и что самое примечательное быстрым, то мне парировать нечем. по 1с - я тоже так когда-то думал. приходится мне иметь дело с crm на основе 1с 8.1, ни я ни бизнес не довольны. бизнес не доволен, что в BI не может вытянуть актуальные данные - доступ то там через oledb, а я и с пол литрами его не осилил. пользователи стонут от интерфейса - мало того, что через RPD, так чтоб телефончик у клиента поменять нужно 8 экранов открыть/закрыть. прайсы на подпиливание процессов тоже были вполне ощутимые. в результате промучившись год именно бизнес созрел выкидывать эту хрень на свалку истории ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2009, 13:14 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
Yo.!DeColo®es В случае, если код "адекватен платформе", оба решения будут и "красивыми" и быстрыми. не флейма не получится, если вы на полном серьезе считаете воркэраунд с xml красивым и что самое примечательное быстрым, то мне парировать нечем. по сравнению с циклами по оракловским массивам воркэраунд с xml вполне можно назвать красивым ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2009, 14:25 |
|
||
|
|

start [/forum/topic.php?fid=35&msg=36227455&tid=1552843]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
4ms |
track hit: |
80ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 246ms |
| total: | 425ms |

| 0 / 0 |
