|
|
|
Циклы и IF'ы в Oracle по сравнению с MS SQL
|
|||
|---|---|---|---|
|
#18+
Собственно,вопрос больше к знатокам Оракла... Но в сравнении с MS SQL'ем. Недавно спорили мы с одним человеком на давнюю тему MSSQL vs. Oracle и среди прочего затронули вопрос написания сторед-процедур. Он утерждает,что в Oracle нет таких конструкций,как IF и циклы (я слабо себе представляю многие мои сторед-процедуры без этого).Я же стоял на том,что ну не может такая серьезная система,как Оракл,существовать без таких простых вещей,как,например,IF.Он доказывал,что может и существует. Вобщем,отсюда вопрос... Есть ли аналог MSSQL'ных IF'ов и циклов (например,WHILE) в Oracle или нет. Спасибо и извиняюсь за такой несколько ламерский вопрос. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2008, 19:05 |
|
||
|
Циклы и IF'ы в Oracle по сравнению с MS SQL
|
|||
|---|---|---|---|
|
#18+
В PL/SQL есть конструкции Код: plaintext 1. 2. 3. 4. 5. 6. Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2008, 19:11 |
|
||
|
Циклы и IF'ы в Oracle по сравнению с MS SQL
|
|||
|---|---|---|---|
|
#18+
!!!В SQL вместо MSSQL-ного if используется CASE ... END или функция decode() В MS SQL в SQL запросе if не используется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2008, 19:18 |
|
||
|
Циклы и IF'ы в Oracle по сравнению с MS SQL
|
|||
|---|---|---|---|
|
#18+
Локшин Марк !!!В SQL вместо MSSQL-ного if используется CASE ... END или функция decode() В MS SQL в SQL запросе if не используется.Вероятно, я ошибся, т.к. опыт работы с этим продуктом у меня минимальный :-) Помню что некая конструкция, аналогичная оракловому CASE, в MS SQL Server существовала. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2008, 19:35 |
|
||
|
Циклы и IF'ы в Oracle по сравнению с MS SQL
|
|||
|---|---|---|---|
|
#18+
В MSSQL есть IF,но он действительно в запросе не используется,в запросе используется CASE,например Код: plaintext Код: plaintext 1. 2. 3. 4. Вот. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2008, 19:53 |
|
||
|
Циклы и IF'ы в Oracle по сравнению с MS SQL
|
|||
|---|---|---|---|
|
#18+
Diablas пишет: > Он утерждает,что в Oracle нет таких конструкций,как IF и циклы (я слабо > себе представляю многие мои сторед-процедуры без этого). Он и прав, и не прав. Дело в том, что в ORACLE, в отличие от MSSQL, где язык один - TransactSQL - и для процедур, и для триггеров, и для запросов, языков у СУБД два - SQL и PL/SQL. В первом нет ни IF, ни циклов (CONNECT BY не в счет). Но на нем не пишутся ни процедуры, ни триггера. Они пишутся на PL/SQL. А там есть уже все. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2008, 23:22 |
|
||
|
Циклы и IF'ы в Oracle по сравнению с MS SQL
|
|||
|---|---|---|---|
|
#18+
MasterZivMSSQL,где язык один - TransactSQL - и для процедур, и для триггеров, и для запросов,А когда TransactSQL стал языком запросов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 10:23 |
|
||
|
Циклы и IF'ы в Oracle по сравнению с MS SQL
|
|||
|---|---|---|---|
|
#18+
Bogdanov AndreyА когда TransactSQL стал языком запросов? Он был им всегда. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 10:30 |
|
||
|
Циклы и IF'ы в Oracle по сравнению с MS SQL
|
|||
|---|---|---|---|
|
#18+
Bogdanov Andrey пишет: > А когда TransactSQL стал языком запросов? Со своего рождения. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 10:38 |
|
||
|
Циклы и IF'ы в Oracle по сравнению с MS SQL
|
|||
|---|---|---|---|
|
#18+
MasterZiv Он и прав, и не прав. Дело в том, что в ORACLE, в отличие от MSSQL, где язык один - TransactSQL - и для процедур, и для триггеров, и для запросов, языков у СУБД два - SQL и PL/SQL. не стоит принимать на веру все, что пишут на заборе, тьфу на MSDN ... ну не разобрались там, в том что SQL это вообще-то декларативный язык, а язык процедур - процедурный, ну бывает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 10:40 |
|
||
|
Циклы и IF'ы в Oracle по сравнению с MS SQL
|
|||
|---|---|---|---|
|
#18+
Yo.!не стоит принимать на веру все, что пишут на заборе, тьфу на MSDN ... ну не разобрались там, в том что SQL это вообще-то декларативный язык, а язык процедур - процедурный, ну бывает Угу. Тока что PL\SQL, что T-SQL считаются процедрными расширениями декларативного SQL. Тока в MS не стали его дробить на два. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 10:47 |
|
||
|
Циклы и IF'ы в Oracle по сравнению с MS SQL
|
|||
|---|---|---|---|
|
#18+
pkarklin Угу. Тока что PL\SQL, что T-SQL считаются процедрными расширениями декларативного SQL. Тока в MS не стали его дробить на два. нифига, где-то на MSDN было забавное определение сваливающее декларативность и процедурность в кучу, вечерком поищу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 10:57 |
|
||
|
Циклы и IF'ы в Oracle по сравнению с MS SQL
|
|||
|---|---|---|---|
|
#18+
Yo.! пишет: > не стоит принимать на веру все, что пишут на заборе, тьфу на MSDN ... ну > не разобрались там, в том что SQL это вообще-то декларативный язык, а > язык процедур - процедурный, ну бывает Transact SQL - это один язык, включающий как подязык SQL (с расширениями). Он и декларативный, и императивный одновременно. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 11:34 |
|
||
|
Циклы и IF'ы в Oracle по сравнению с MS SQL
|
|||
|---|---|---|---|
|
#18+
MasterZiv Bogdanov AndreyА когда TransactSQL стал языком запросов? Со своего рожденияТо есть в запросах можно использовать любые конструкции этого языка? Если нет, то языком запросов является не TransactSQL, а некое его подмножество. MasterZivTransact SQL - это один язык, включающий как подязык SQL (с расширениями). Он и декларативный, и императивный одновременно.Так в чем же разница с PL/SQL? Только в том, что Oracle терминологически разделил декларативную и процедурную части, а MSSQL решил терминологией себя не озабачивать. Количество имеющихся синтаксических конструкций практически одинаково. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 12:45 |
|
||
|
Циклы и IF'ы в Oracle по сравнению с MS SQL
|
|||
|---|---|---|---|
|
#18+
авторТо есть в запросах можно использовать любые конструкции этого языка? Что значит "любые конструкции"?! Как прикажете цикл в запросе использовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 13:03 |
|
||
|
Циклы и IF'ы в Oracle по сравнению с MS SQL
|
|||
|---|---|---|---|
|
#18+
Bogdanov Andrey wrote: > Так в чем же разница с PL/SQL? А Вы знакомы с PL/SQL? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 13:03 |
|
||
|
Циклы и IF'ы в Oracle по сравнению с MS SQL
|
|||
|---|---|---|---|
|
#18+
pkarklin авторТо есть в запросах можно использовать любые конструкции этого языка? Что значит "любые конструкции"?! Как прикажете цикл в запросе использовать?Ну этого я не знаю. Было утверждение, что TransactSQL - язык запросов, значит конструкции этого языка предназначены для написания запросов. Вот пусть автор утверждения и расскажет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 13:07 |
|
||
|
Циклы и IF'ы в Oracle по сравнению с MS SQL
|
|||
|---|---|---|---|
|
#18+
Bogdanov Andrey пишет: > То есть в запросах можно использовать любые конструкции этого языка? Ну в общем да, но не везде можно использовать все конструкции. Т.е. внутри SELECT-а написать IF например нельзя. Но например послать батч (посылку на сервер) типа Код: plaintext 1. 2. 3. 4. 5. Там либо ты посылаешь на сервер SQL - запрос, либо PL/SQL блок. В PL/SQL блоке конечно тоже можно сделать SELECT, но уже по-другому. > Так в чем же разница с PL/SQL? Только в том, что Oracle терминологически > разделил декларативную и процедурную части, а MSSQL решил терминологией > себя не озабачивать. Количество имеющихся синтаксических конструкций Не терминологически, а технологически. В оракле оно как-то поотдельности живет. Я выше попытался объяснить. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 13:09 |
|
||
|
Циклы и IF'ы в Oracle по сравнению с MS SQL
|
|||
|---|---|---|---|
|
#18+
Bogdanov AndreyБыло утверждение, что TransactSQL - язык запросов, значит конструкции этого языка предназначены для написания запросов. Вот пусть автор утверждения и расскажет. Еще как предназначены. Посмотрите любой скрипт на bid=1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 13:12 |
|
||
|
Циклы и IF'ы в Oracle по сравнению с MS SQL
|
|||
|---|---|---|---|
|
#18+
lockyА Вы знакомы с PL/SQL?Мне казалось, что мы здесь не мои знания обсуждаем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 13:12 |
|
||
|
Циклы и IF'ы в Oracle по сравнению с MS SQL
|
|||
|---|---|---|---|
|
#18+
pkarklin Bogdanov AndreyБыло утверждение, что TransactSQL - язык запросов, значит конструкции этого языка предназначены для написания запросов. Вот пусть автор утверждения и расскажет. Еще как предназначены. Посмотрите любой скрипт на bid=1.А вы сейчас кому отвечаете? Если мне, то я не спрашивал предназначены ли конструкции TransactSQL для написания запросов. А если кому-то другому, то зачем меня цитировать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 13:16 |
|
||
|
Циклы и IF'ы в Oracle по сравнению с MS SQL
|
|||
|---|---|---|---|
|
#18+
авторА вы сейчас кому отвечаете? Если мне, то я не спрашивал предназначены ли конструкции TransactSQL для написания запросов. Простите, следующее не Вы спрашивали?! Bogdanov AndreyА когда TransactSQL стал языком запросов? Bogdanov AndreyТо есть в запросах можно использовать любые конструкции этого языка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 13:21 |
|
||
|
Циклы и IF'ы в Oracle по сравнению с MS SQL
|
|||
|---|---|---|---|
|
#18+
Bogdanov Andrey wrote: > А Вы знакомы с PL/SQL? > > Мне казалось, что мы здесь не мои знания обсуждаем. Да, не их. Однако, если Вы не знакомы с PL/Sql, то было бы странно выслушивать Ваше мнение по поводу похожести и/или непохожести оного на T-Sql. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 14:35 |
|
||
|
Циклы и IF'ы в Oracle по сравнению с MS SQL
|
|||
|---|---|---|---|
|
#18+
Bogdanov Andrey Было утверждение, что TransactSQL - язык запросов, значит конструкции этого языка предназначены для написания запросов. Вот пусть автор утверждения и расскажет.Если у Вас автомобиль, предназначенных для перевозки 5 человек - это же не значит что на нём нельзя ездить одному по-моему демагогией занимаетесь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 14:36 |
|
||
|
Циклы и IF'ы в Oracle по сравнению с MS SQL
|
|||
|---|---|---|---|
|
#18+
pkarklin авторА вы сейчас кому отвечаете? Если мне, то я не спрашивал предназначены ли конструкции TransactSQL для написания запросов. Простите, следующее не Вы спрашивали?! Bogdanov AndreyА когда TransactSQL стал языком запросов? Bogdanov AndreyТо есть в запросах можно использовать любые конструкции этого языка А слово ЛЮБЫЕ вы решили проигнорировать. SergSuperпо-моему демагогией занимаетесьСогласен. Но начал это, на мой взгляд, MasterZiv утверждая, что в Oracle два языка, в то время как MSSQL - один. Если не заниматься буквоедством, то и в Oracle и в MSSQL есть два множества синтаксических конструкций - одно для написания запросов (собственно SQL) и второе - процедурное расширение. Естественно, есть некоторые технические различия в реализации. Ну а какое из этих множеств языком называть - это уже вопрос к марктологам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2008, 14:59 |
|
||
|
|

start [/forum/topic.php?fid=35&fpage=25&tid=1553133]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
23ms |
get topic data: |
74ms |
get forum data: |
2ms |
get page messages: |
144ms |
get tp. blocked users: |
2ms |
| others: | 15ms |
| total: | 290ms |

| 0 / 0 |
