powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / PL/sql и T/sql
25 сообщений из 134, страница 1 из 6
PL/sql и T/sql
    #33752056
mos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помогите сравнить, выскажите свои мнения по поводу PL/sql и T/sql, плюсы и минусы
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33752124
Sim.On
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В T-SQL нет иерархических запросов, в PL-SQL нельзя процедурой вернуть набор данных
Если я ошибаюсь, поправьте меня
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33752144
Yo.!!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну T-SQL от mssql2k5 это немного кастрированый PL/SQL oracle7 (1992 год)
В оракле было отслеживание зависимостей, это когда объекты субд (procedure/function/package/view) имеют стаус valid/invalid и субд отслеживает зависимости между ними. Например удаление таблицы повлечет за собой изменение статуса на «invalid» всех объектов, котрые были связаны с этой таблицой. Это позволяет предотвращать запуск процедур которые выполнятся с ошибкой. Mssql проверяет лишь синтаксис и только во время компиляции, поэтому такая процедура будет запущена и будет работать пока не встетится ошибочная команда, результат такой работы может быть непредсказуем.

- В T-SQL нет масивов
- Отсутствуют ООП фичи (object oriented features)
- Нет аналогов встроеных процедур/пакетов (DBMS_*, UTL_*, и т.п.)
- Нет аналога пакетам
- T-SQL mssql2005 по прежнему имеет ограничение на глубину рекурсии (32 вызова)
- В mssql2005 нет before, on connect тригеров, отсутствует отложеная проверка.

а вообще сравнивать нада комплексно, включая SQL, поведения временых таблиц и почее ... типа так :)
http://oraclemind.blogspot.com/2006/03/oracle-10g-vs-microsoft-sql-server_26.html

Sim.OnВ T-SQL нет иерархических запросов, в PL-SQL нельзя процедурой вернуть набор данных
Если я ошибаюсь, поправьте меня

это SQL и вроде в msql2k5 появилось выражение WITH
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33752244
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник


чел сравнить просил а не эту шелуху


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33752457
Фотография Anton Demidov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sim.Onв PL-SQL нельзя процедурой вернуть набор данных
Если я ошибаюсь, поправьте меня
Есть в Оракле pipelined function, которая возвращает набор данных, а можно и и классически - через REF CURSOR (указатель на recordset)
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33752552
Один1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Yo.!!
Это вы хорошо набросили :)
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33752907
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В хранимках Oracle максимальная вложенность запроса - 3
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33753166
aZm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
3JIA9I с**аВ хранимках Oracle максимальная вложенность запроса - 3

*зееевать
эт в каком оракле ;)? select * from v$version в студию
и вообще, чево, execute immediate отменили?
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33753241
Yo.!!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
3JIA9I с**аВ хранимках Oracle максимальная вложенность запроса - 3

ну разве что если руки растут из жопы и не дотягиваются до 4-й вложености :)

aZm
и вообще, чево, execute immediate отменили?

и что через execute immediate запрос будет другой движек обрабатовать ?
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33753639
Longsvano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!!и что через execute immediate запрос будет другой движек обрабатовать ?

А вы что никогда не сталкивались что некоторые конструкции, лекго проглатываемые в коммандном SQL-е, не хотят компилироваться в PL/SQL-е?
В 8.1.5 помню нельзя было использовать ORDER BY в подзапросах. Во всей линии восьмерки аналитические функции не пашут в PL/SQL.

Вообще, конечно PL/SQL вещь неплохая, но огрех, мешающих жить сухо и комфортно - море. Что для меня совершенно непонятно - дурацкое ограничение в 30 символов на любой идентификатор. Хреновы индусы!
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33753753
Yo.!!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Longsvano

неверю. ( но у меня нет восьмерки проверить.) pl/sql всего лишь вызывает движек SQL и все (см рисунок), да в восьмерке помнится были проблемы с несовместимостью некоторых типов, типа в SQL тип сделали, а в pl/sql еще нет.
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33753845
Yo.!!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хм .. гугл говорит точно аналитические не пащут в восьмерке, получается что plsql пытается проверить синтаксис сам и если ему про аналитические функции не сказали, то он не компилит процедуру. выход спрятать синтаксис во view или через execute immediate, тогда действительно можно миновать проверку синтаксиса plsql движком. всеравно сумневаюсь я, что в восьмерке и 4-ная вложеность не работала ...
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33753854
Longsvano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!!неверю.
"- Все ставки сделаны, поэтому денег в кассе быть не может.
- НЕ ВЕРЮ!
- А я тебя ни х..я и не убеждаю. ЭТО ФАКТ." (с) Snatch, Сп..и в переводе Гоблина.

Йо, ну это же несерьезно.
Мы же с вами не на теологическом форуме, жонглировать схемами из доков не собираемся. Мы же технари и инженеры, поэтому практика для нас - единственный критерий истины. Мало ли чего написал тех.писатель со слов пьяного индуса-разработчика. Поставьте воcьмерку и убедитесь.
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33753863
Longsvano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторгугл говорит точно аналитические не пащут в восьмерке
Опоздал я со своим постом, вы сами уже нашли ответ.
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33753891
aZm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Yo

именно. экзекут иммедиэйт дернет скл-энжин. иначе -будет использован плскл энжин. а они - разные
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33753892
Longsvano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что в восьмерке и 4-ная вложеность не работала ...

А это это такое вообще вложенность? Имеется ввиду что такое работать не будет:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SELECT * FROM (
 SELECT * FROM (
  SELECT * FROM (
   SELECT * FROM (
    SELECT * FROM (
     SELECT NULL AS test FROM DUAL
    )
   )
  )
 )
)

"Сумневаюсь я"(c) И.В.Ломоносов
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33753913
Yo.!!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну да типа такого:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
create or replace procedure shit as
x int ;
begin
SELECT test into x FROM (
 SELECT * FROM (
  SELECT * FROM (
   SELECT * FROM (
    SELECT * FROM (
     SELECT NULL AS test FROM DUAL
    )
   )
  )
 )
);
 15  end;
 16  /

Procedure created.

SQL> show errors ;
No errors.
SQL> begin shit; end ;
  2  /

PL/SQL procedure successfully completed.

...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33753921
aZm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Longsvano Мало ли чего написал тех.писатель со слов пьяного индуса-разработчика. Поставьте воcьмерку и убедитесь.

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

зы.кто не верит - пообщайтесь с оракловыми приблудами на джаве :( поубивалбынах...
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33753930
aZm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!!ну да типа такого:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
create or replace procedure shit as
x int ;
begin
SELECT test into x FROM (
 SELECT * FROM (
  SELECT * FROM (
   SELECT * FROM (
    SELECT * FROM (
     SELECT NULL AS test FROM DUAL
    )
   )
  )
 )
);
 15  end;
 16  /

Procedure created.

SQL> show errors ;
No errors.
SQL> begin shit; end ;
  2  /

PL/SQL procedure successfully completed.



версия? 8.0.х, 8.1.x,9.2.x?
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33753958
Longsvano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!!ну да типа такого:

Кстати, этот пример может быть вовсе непоказательный. Посмотрите план этого запроса. Оптимизатор спокойно прочухивает, что вложенность для запроса роли не играет. То есть View внутренний (как он там правильно называется не помню) на образуется. А вот если таких вьюшек будет 4 - то фиг знает. Может товарищ и прав.
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33754019
Yo.!!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aZm
версия? 8.0.х, 8.1.x,9.2.x?

у меня меньше 10.1 неосталось баз.

Longsvano Кстати, этот пример может быть вовсе непоказательный. Посмотрите план этого запроса. Оптимизатор спокойно прочухивает, что вложенность для запроса роли не играет. То есть View внутренний (как он там правильно называется не помню) на образуется. А вот если таких вьюшек будет 4 - то фиг знает. Может товарищ и прав.

пля, повторяю plsql не исполняет sql, он только проверяет синтаксис во время компиляции. причем судя по гуглу если процедуру оформить как анонимный блок то аналитеческие запросы в восьмерке пройдут на ура.
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33754037
Yo.!!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хотя нет, не через анонимный, а просто SQL.
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33754066
Longsvano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторпля, повторяю plsql не исполняет sql, он только проверяет синтаксис во время компиляции
И что с того? Пусть это баг SQL Statement Executor-а с вашей схемы. Раз PL/SQL вызывает SQL Statement Executor, то и наследует все его ошибки.
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33754152
Yo.!!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Longsvano
И что с того? Пусть это баг SQL Statement Executor-а с вашей схемы. Раз PL/SQL вызывает SQL Statement Executor, то и наследует все его ошибки.
непонял о чем спор, если это ограничение sql движка то оно не будет работать ни через view ни через sqlplus, если же оптимизатор прочухивает - то проблема лишь как обойти проверку синтасиса plsql (если вдруг plsql не знает про такой синтаксис). а вообще последние проблемы такого рода как я понимаю были в 8рке, т.е. 10 лет назад, чего тормашить субд которая уже отжила свое и несупортится ?
...
Рейтинг: 0 / 0
PL/sql и T/sql
    #33754182
aZm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo не нуна быть таким категоричным :) буквально полгода назад я наблюдал не самый слабый продакшн да 8.1.7.3 :)
...
Рейтинг: 0 / 0
25 сообщений из 134, страница 1 из 6
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / PL/sql и T/sql
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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