|
|
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
Какие основные отличие T-SQL от PL/SQL? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2006, 23:39 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
У PL/SQL очень много стандартных библиотек Синтаксис похож на Паскаль (IMHO более читабельный) Есть понятие Package (аналог UNIT-a) Может компилироваться в native code (опционально) Если английский язык не пугает, то вот ссылка на Oracle Database PL/SQL User's Guide and Reference. Там можно просто полистать на предмет примеров кода - всё станет ясно. Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2006, 00:54 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
pavel73Какие основные отличие T-SQL от PL/SQL? Различие именно языков - относительно неважный вопрос. Речь скорее стоило бы вести о возможностях. Отличие именно языков в первую очередь в том, что PL/SQL по архитектуре близок структурным языкам: ADA, PL/1, ALGOL, в то время как авторов T-SQL явно и недвусмысленно вдохновлял BASIC. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2006, 12:41 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
softwarer в то время как авторов T-SQL явно и недвусмысленно вдохновлял BASIC. С чего это Вы так решили? С чего это SyBas-у было вдохновляться BASICом? В T-SQL практически нет никаких логических конструкций - только IF и цикл WHILE. Ни массивов, ни FOR, ни много чего что есть в BASIC. По-моему тут вообще никакого вдохновения не было, просто решили к чистому SQL добавить пару команд. Другое дело что сложную логику на SQL писать редко когда нужно, но это другой вопрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2006, 09:57 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
SergSuper Другое дело что сложную логику на SQL писать редко когда нужно, но это другой вопрос. И оооочень спорный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2006, 11:38 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
SergSuperС чего это Вы так решили? Хм. По предыдущему опыту, у нас были проблемы с конструктивным обсуждением куда более формализуемого вопроса, так что давайте, для экономии времени скажу "Ну вот решил - и все тут. Потому что похоже". SergSuperДругое дело что сложную логику на SQL писать редко когда нужно Зависит от решаемой задачи. Если она тривиальна, то конечно не нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2006, 12:16 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
Софтварер, помните, мы с вами как раз в той теме бились по поводу перегрузки? Бог с ней с перегрузкой. Скажите как эксперт с мировым именем, чем продиктовано ограничение: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2006, 16:51 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
LongsvanoСкажите как эксперт с мировым именем, чем продиктовано ограничение: Я бы не назвал это ограничением. Если придерживаться строгой терминологии, то это работа в соответствии со спецификацией языка в ситуации, которая если не ошибаюсь никак особо не оговорена, а если по-простому, то компилятор совершенно не обещал реагировать на первое попавшееся извращение так, как хотелось бы какому-то конкретному экспериментатору. Достаточно того, что он реагирует разумно. Longsvanoчто название аргумента не может совпадать с названием функции? Чушь. Они могут совпадать, никаких проблем. Уточните пожалуйста, вы вправду не понимаете, как работает компилятор и почему он рассматривает эту ситуацию как ошибочную? [в сторону - я всегда полагал, что теория компиляторов должна быть обязательной дисциплиной у студентов-программистов, именно по той причине, что иначе они тратят кучу сил на разбор ситуаций типа "компилятор дал какое-то дурацкое сообщение об ошибке, не понимаю, чего он хочет"]. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2006, 17:49 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
авторДостаточно того, что он реагирует разумно. О разумности и неразумности мы с вами не договоримся. Поэтому опустим. авторЧушь. Они могут совпадать, никаких проблем. В том примере, который я вам показал - не могут. Или сложно запастить его в SQL+ и убедится самому? авторУточните пожалуйста, вы вправду не понимаете, как работает компилятор и почему он рассматривает эту ситуацию как ошибочную? А вы знаете как работате оракловский компилятор? И откуда сии знания почерпнуты? Скорее всего вы знаете как работает "стандартный" компилятор. И что правда он неспособен увидеть различие между вызовом функции и аргументом? автор[в сторону - я всегда полагал, что теория компиляторов должна быть обязательной дисциплиной у студентов-программистов, именно по той причине, что иначе они тратят кучу сил на разбор ситуаций типа "компилятор дал какое-то дурацкое сообщение об ошибке, не понимаю, чего он хочет"] Я тоже всегда это предполагал. Но увы, не студент-программист. Поэтому, собственно, и задал вам вопрос. Итак, суть вопроса: неужели действительно стандартному компилятору не по силам прожевать указанную конструкцию? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2006, 12:02 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
Longsvano авторДостаточно того, что он реагирует разумно. О разумности и неразумности мы с вами не договоримся. Поэтому опустим. Хм. Имхо корректная работа в некорректной ситуации - вполне разумное поведение. Хотя я готов полюбопытствовать на тему других точек зрения. Longsvano авторЧушь. Они могут совпадать, никаких проблем. В том примере, который я вам показал - не могут. Или сложно запастить его в SQL+ и убедится самому? Если Вам сложно понять, какую ошибку Вы сделали, это не повод выдвигать глобальные утверждения. Вы действуете примерно так: написали код Код: plaintext и на основании результатов компиляции делаете вывод, что в Oracle нельзя определять переменную с именем i. LongsvanoИтак, суть вопроса: неужели действительно стандартному компилятору не по силам прожевать указанную конструкцию? Ответ: он прожевывает ее абсолютно корректно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2006, 13:29 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
авторЕсли Вам сложно понять, какую ошибку Вы сделали... Да, мне сложно понять свою ошибку. Если вы ее видете, вы же можете не мудря указать на нее? "Так покажите нам его!"(с) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2006, 13:34 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
LongsvanoДа, мне сложно понять свою ошибку. Если вы ее видете, вы же можете не мудря указать на нее? "Так покажите нам его!"(с) Могу. Вы пытаетесь сослаться на объект из внешней области видимости из внутреннего блока, в котором он перекрыт одноименным объектом самого блока. Ваше идиотское утверждение "имя аргумента не может совпадать с именем функции" опровергается простейшей модификацией Вашего примера: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Что же до вопроса "как синтаксически корректно написать то, что Вы имели в виду", то в действие вступают стандартные правила поведения при конфликте имен: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2006, 13:49 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
авторМогу. Все понятно. Про оракловский компилер. Все для него убогого надо поточнее указывать, самому [ему] разобраться как будто сложно. Видать у нас совсем разная идеология - я не вижу конфликта имен там где Оракл его видит. Для меня совершенно разное SomeVal как переменная и SomeVal() как функция, хоть и пишуться одинаково. Как ключ (родник) и ключ гаечный. Спасибо за проеснение вопроса. Блрю(с). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2006, 14:03 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
Мда, тяжко с этим жить: авторSQL> DECLARE 2 SomeVal NUMBER(10); 3 PROCEDURE SomeVal AS 4 BEGIN 5 NULL; 6 END; 7 BEGIN 8 NULL; 9 END; 10 / PROCEDURE SomeVal AS * ERROR at line 3: ORA-06550: line 3, column 2: PLS-00305: previous use of 'SOMEVAL' (at line 2) conflicts with this use ORA-06550: line 3, column 2: PL/SQL: Item ignored Посмтрим что по этому поводу думают другие компилеры... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2006, 14:08 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
LongsvanoВсе понятно. Про оракловский компилер. Главным образом понятно про Вас. Именно тот случай, когда учить - только портить. Да и поздно, наверное. LongsvanoВидать у нас совсем разная идеология - я не вижу конфликта имен там где Оракл его видит. Да, такое бывает. Возможно, при переходе через улицу Вы также не увидите грузовика, с которым сконфликтуете. Longsvano Для меня совершенно разное SomeVal как переменная и SomeVal() как функция На своем уровне - подумайте о различиях SomeVal как функции и SomeVal() как функции. Может что и надумаете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2006, 14:08 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
Longsvano Посмтрим что по этому поводу думают другие компилеры... Паскалевский тоже не различит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2006, 14:29 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
На своем уровне - подумайте о различиях SomeVal как функции и SomeVal() как функции. Может что и надумаете. Если запретить синтаксис вызова функций без указания скобок, тогда вообще проблем не вижу, так как скорее всего вызов функций без аргументов - не слишком частый случай. Тогда будет полноя однозначность: все что со скобками - функция, без - переменная. Однако глядя на наш менорский тон можно подумать что вызов без скобок офигеть какое мега-нововведение без которого никак не обойтись. И более того, вы непоследовательны: раз вы, судя по всему за полною однозначность кода, тогда скорее всего в ваших программах всегда вызов функции без аргуметов заканчивается скобками, чтобы понятно было что делается, либо присвоение переменной, либо значения функции. Проблема только в вызове стандартных SQL-функций типа SYSDATE. Ну так для всех стандартных функций без аргументов можно оставить вызов без скобок. В SQL и так есть зарезервированные слова, которые нельзя использовать для именования переменных и еще от одного несущественного ограничения никто не умрет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2006, 15:56 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
LongsvanoПроблема только в вызове стандартных SQL-функций типа SYSDATE. Ну так для всех стандартных функций без аргументов можно оставить вызов без скобок. В SQL и так есть зарезервированные слова, которые нельзя использовать для именования переменных и еще от одного несущественного ограничения никто не умрет. Тебе наверно ооооочень скушно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2006, 16:10 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
SergSuper Longsvano Посмтрим что по этому поводу думают другие компилеры... Паскалевский тоже не различит. Нет, не получится такой тест провести на C образных языках. Так идеология другая. Там функция имеет право ничего не возвращать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2006, 16:10 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
Longsvano Если запретить синтаксис вызова функций без указания скобок, тогда вообще проблем не вижу, так как скорее всего вызов функций без аргументов - не слишком частый случай. Тогда будет полноя однозначность: все что со скобками - функция, без - переменная. Однако глядя на наш менорский тон можно подумать что вызов без скобок офигеть какое мега-нововведение без которого никак не обойтись. И более того, вы непоследовательны: раз вы, судя по всему за полною однозначность кода, тогда скорее всего в ваших программах всегда вызов функции без аргуметов заканчивается скобками, чтобы понятно было что делается, либо присвоение переменной, либо значения функции. Проблема только в вызове стандартных SQL-функций типа SYSDATE. Ну так для всех стандартных функций без аргументов можно оставить вызов без скобок. В SQL и так есть зарезервированные слова, которые нельзя использовать для именования переменных и еще от одного несущественного ограничения никто не умрет. Назовите, пожалуйста, хоть один паскаль-подобный язык, в котором вызов функции без параметров обязан быть со скобками. Для смеха: в pl/sql вызов объектных методов-функций обязан быть со скобками если у метода нет параметров. Но дело в том, что объектами там мало кто пользуется... 2 Longsvano Вам нужны шашечки, а "нормальным" людям надо работать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2006, 16:16 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
авторНазовите, пожалуйста, хоть один паскаль-подобный язык, в котором вызов функции без параметров обязан быть со скобками. Вот сишник справа ручается что в Сях нельзя вызывать функцию без скобок. И даже это демонстрикуем с удовольствием. Компилятор - какойто от Борланда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2006, 16:31 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
LongsvanoЕсли запретить синтаксис вызова функций без указания скобок То это будет бессмысленный откат на тридцать пять лет назад. Нафиг. LongsvanoОднако глядя на наш менорский тон можно подумать что вызов без скобок офигеть какое мега-нововведение без которого никак не обойтись. Это мега-нововведение языка, который развивался в совершенно другой ветке по своим законам. И, кстати, именно лишние скобки, в первую очередь в операторах, с моей точки зрения являются его наиболее неудачной деталью. LongsvanoИ более того, вы непоследовательны Я принимаю подход используемого инструмента, пользуюсь его преимуществами и знаю его ограничения. Если по-Вашему, последовательность - орать "тут все не так, как я привык, а думать мне лень и вообще тяжело, а уж читать тем более", то я действительно непоследователен. Longsvano: раз вы, судя по всему за полною однозначность кода, тогда скорее всего в ваших программах всегда вызов функции без аргуметов заканчивается скобками, чтобы понятно было что делается, либо присвоение переменной, либо значения функции. Мои предпочтения, если хотите, давайте обсудим в отдельном топике, к сравнению языков они отношения не имеют. Озадачившее Вас поведение совершенно типично для языков того семейства, которое я назвал - Алгол и его наследники, в том числе упомянутый SergSuper-ом Паскаль. Насчет Вашего предложения - я бы порекомендовал изучить предмет до того, как предлагать пути его модификации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2006, 16:32 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
LongsvanoНет, не получится такой тест провести на C образных языках Еще одно... странное утверждение. Longsvano AI Назовите, пожалуйста, хоть один паскаль-подобный язык, в котором вызов функции без параметров обязан быть со скобками. Вот сишник справа ручается что в Сях нельзя вызывать функцию без скобок. А Си уже стал паскаль-подобным языком? Надо обрадовать старикашку Ника.... А сишник - правильно ручается, нельзя. Это еще терпимо, хотя криво и вызвано только плохо продуманным синтаксисом, а вот необходимость указывать скобки в if, while, catch просто бесит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2006, 16:43 |
|
||
|
Чем отличаеться T-SQL от PL/SQL?
|
|||
|---|---|---|---|
|
#18+
авторА Си уже стал паскаль-подобным языком? Надо обрадовать старикашку Ника.... В данном случае - неважно. Оба процедурные, значит теоретически подходы более менее одинаковые. А сишник - правильно ручается, нельзя. Это еще терпимо, хотя криво и вызвано только плохо продуманным синтаксисом, а вот необходимость указывать скобки в if, while, catch просто бесит. Ну знаете, зоопарк BEGIN - END-ов не лучше {} для тех кто после Си читает PL/SQL. А уж FOR без степа с MOD-ом или TRIM( BOTH FROM ). И наконец, поставьте себе среду с подстветкой парных скобок. Вон у лиспофилов все в скобках, однако не жужжат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2006, 16:56 |
|
||
|
|

start [/forum/topic.php?fid=35&fpage=18&tid=1552843]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
| others: | 13ms |
| total: | 164ms |

| 0 / 0 |
