|
Procedure (Cursor)
|
|||
---|---|---|---|
#18+
Код: plsql 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. 27. 28. 29. 30. 31. 32. 33.
Помогите новичку, перевести PL/SQL на T-SQL Заранее благодарен ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2021, 12:41 |
|
Procedure (Cursor)
|
|||
---|---|---|---|
#18+
Да там просто, почти один к одному. Вы сами пробовали? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2021, 12:55 |
|
Procedure (Cursor)
|
|||
---|---|---|---|
#18+
Ролг Хупин Да там просто, почти один к одному. Вы сами пробовали? Код: plsql 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. 27. 28. 29.
Что не так ? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2021, 13:02 |
|
Procedure (Cursor)
|
|||
---|---|---|---|
#18+
AleksRous, Вы ожидаете, что кто-то процитирует справку по DEСLARE CURSOR или у Вас другие затруднения? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2021, 13:25 |
|
Procedure (Cursor)
|
|||
---|---|---|---|
#18+
AleksRous Ролг Хупин Да там просто, почти один к одному. Вы сами пробовали? Код: plsql 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. 27. 28. 29.
Что не так ? т.е. вы совсем далеки от SQL Server и от T-SQL в частности? зачем вам вот это вот всё? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2021, 13:25 |
|
Procedure (Cursor)
|
|||
---|---|---|---|
#18+
это не тот курсор , в MSSQL нет такого понятия , как SYS_REFCURSOR из PL/SQL вам надо просто вернуть ваш select из ХП ,там никакой курсор не требуется ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2021, 13:33 |
|
Procedure (Cursor)
|
|||
---|---|---|---|
#18+
Тогда как в бакэнд вернуть выборку(select) с параметрами(@) через процедуру или фукнцию ? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2021, 13:48 |
|
Procedure (Cursor)
|
|||
---|---|---|---|
#18+
что конкретно вы хотите вернуть из ХП? пример есть? у вас не получается передать параметры в ХП? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2021, 13:50 |
|
Procedure (Cursor)
|
|||
---|---|---|---|
#18+
На простом примере если можно будет объясните чайнику, пжт ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2021, 13:51 |
|
Procedure (Cursor)
|
|||
---|---|---|---|
#18+
Konst_One что конкретно вы хотите вернуть из ХП? пример есть? у вас не получается передать параметры в ХП? Конкретно, выборку прописанную в ХП как я описал выше в примере ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2021, 13:54 |
|
Procedure (Cursor)
|
|||
---|---|---|---|
#18+
AleksRous Тогда как в бакэнд вернуть выборку(select) с параметрами(@) через процедуру или фукнцию ? Похоже Вам нужна табличная функция. В справке все есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2021, 13:56 |
|
Procedure (Cursor)
|
|||
---|---|---|---|
#18+
создаём процедуру с параметром, которая делает выборку из таблички Table1 с фильтрацией по полю ID по переданному значению через параметр @id: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2021, 13:58 |
|
Procedure (Cursor)
|
|||
---|---|---|---|
#18+
Допустим, бакэнд разработчик не хочет прописывать выборку в своем коде (JAVA, C# ... etc), а хочет получить выборку в ХП со вложенными параметрами PROCEDURE (PARAM_1 NUMBER , PARAM_2 NVARCHAR , P_CUR SYS_REFCURSOR )... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2021, 13:58 |
|
Procedure (Cursor)
|
|||
---|---|---|---|
#18+
только не вижу смысла в этой ХП, зачем там вообще UNION? Может расскажите, что реально вы хотите получить на вашем бэкенде? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2021, 14:04 |
|
Procedure (Cursor)
|
|||
---|---|---|---|
#18+
Konst_One только не вижу смысла в этой ХП, зачем там вообще UNION? Может расскажите, что реально вы хотите получить на вашем бэкенде? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
Union просто пример , там простая выборка select которою со всеми столбцами нужно передать в одном параметре бэкенду. В pl/sql это можно сделать как я описал выше, назначаем параметр как допустим (P_CUR SYS_REFCURSOR) Далее все по тексту OPEN P_CUR FOR SELECT ... CLOSE P_CUR ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2021, 14:09 |
|
Procedure (Cursor)
|
|||
---|---|---|---|
#18+
вы что-то явно не договариваете. если вам нужно возвращать всегда разные параметры и в разном количестве, то вам скорее всего нужно передавать их в виде одного параметра xml/json и в ХП уже из них строить некий запрос если простой вариант нужен, то так Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2021, 14:09 |
|
Procedure (Cursor)
|
|||
---|---|---|---|
#18+
если вам нужен возвращаемый параметр в виде таблицы, то смотрите табличные типы, но я думаю, что это не очень хороший вариант. проще вам переписать ваш бэкенд ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2021, 14:11 |
|
Procedure (Cursor)
|
|||
---|---|---|---|
#18+
Я понял вас спс ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2021, 14:26 |
|
Procedure (Cursor)
|
|||
---|---|---|---|
#18+
ещё посмотрите тут: В. Создание функции с табличным значением из нескольких инструкций https://docs.microsoft.com/ru-ru/sql/t-sql/statements/create-function-transact-sql?view=sql-server-ver15 может вам такой вариант подойдёт ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2021, 14:28 |
|
|
start [/forum/topic.php?fid=46&msg=40121621&tid=1683995]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
172ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 294ms |
0 / 0 |