|
Как передать имя таблицы в хранимую процедуру с курсором из VB
|
|||
---|---|---|---|
#18+
Есть програмка которая строит график пуляя в процедуру параметры. Проблема в том что если из двух копий программы запускать построение графика то ругается что временная таблица уже создана. В процедуре перед запуском курсора приходится создавать таблицу через EXEC. EXEC ('create table ##t (price float,shops varchar(50),time smalldatetime)') Далее опять же через EXEC заполняю временную таблицу потому что не получилось передать строковую переменную в запрос IN значение переменной выглядит так : 'Moscow','Tver' вб по моему добавляет толи кавычки толи еще что-то и запрос пустой получается. По этому пришлось делать через EXEC и туда вставлять (shops in ('+@shops+')) так оно работает. Далее курсор должен бегать по временной табличке DECLARE db_cursor CURSOR FOR select price,shops,time from ##t order by time Но как я уже писал выше при одновременном запуске из двух приложений он кричит что табличка ##t уже создана. Если использоваться #t то после EXEC ее конечно не видно. Курсор через EXEC я так понял работать не будет. Помогите уже неделю бьюсь ((( ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2013, 17:59 |
|
Как передать имя таблицы в хранимую процедуру с курсором из VB
|
|||
---|---|---|---|
#18+
Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2013, 18:04 |
|
Как передать имя таблицы в хранимую процедуру с курсором из VB
|
|||
---|---|---|---|
#18+
что мешает делать рандомное имя у временной таблички? черт побери, я даже делал рекурсивную процедуру с динамическими курсорами ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2013, 18:05 |
|
Как передать имя таблицы в хранимую процедуру с курсором из VB
|
|||
---|---|---|---|
#18+
Ariess, правда как вы будете различать чьи данные обрабатывать при одновременном запуске из двух приложений? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2013, 18:08 |
|
Как передать имя таблицы в хранимую процедуру с курсором из VB
|
|||
---|---|---|---|
#18+
AriessЕсли использоваться #t то после EXEC ее конечно не видно.А еще я загонял в контекст exec всю логику, завязанную на временную таблицу, и в этой же самой ситуации спокойно юзал #t. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2013, 18:13 |
|
Как передать имя таблицы в хранимую процедуру с курсором из VB
|
|||
---|---|---|---|
#18+
Antonariyчто мешает делать рандомное имя у временной таблички? черт побери, я даже делал рекурсивную процедуру с динамическими курсорами Как сделать рандомное имя ? ) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2013, 18:14 |
|
Как передать имя таблицы в хранимую процедуру с курсором из VB
|
|||
---|---|---|---|
#18+
skyANA Код: sql 1.
Этот вариант рассматривал но как потом подсунуть курсору нужное имя таблички ? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2013, 18:16 |
|
Как передать имя таблицы в хранимую процедуру с курсором из VB
|
|||
---|---|---|---|
#18+
AriessAntonariyчто мешает делать рандомное имя у временной таблички? черт побери, я даже делал рекурсивную процедуру с динамическими курсорами Как сделать рандомное имя ? ) Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2013, 18:19 |
|
Как передать имя таблицы в хранимую процедуру с курсором из VB
|
|||
---|---|---|---|
#18+
Ariess, ты точно уверен что тебе нужна глобальная временная таблица (##имя)? Попробуй использовать локальные временные таблицы (#имя) и тогда проблема отпадет т.к. эти таблицы будут теперь разными для разных сессий. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2013, 18:23 |
|
Как передать имя таблицы в хранимую процедуру с курсором из VB
|
|||
---|---|---|---|
#18+
Ariessкак потом подсунуть курсору нужное имя таблички ?Вот пример такой процедуры. Временной таблицы там нет, но принцип работы с ней такой же как с курсором. Код: sql 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. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2013, 18:29 |
|
Как передать имя таблицы в хранимую процедуру с курсором из VB
|
|||
---|---|---|---|
#18+
bazileAriess, ты точно уверен что тебе нужна глобальная временная таблица (##имя)? Попробуй использовать локальные временные таблицы (#имя) и тогда проблема отпадет т.к. эти таблицы будут теперь разными для разных сессий. Да уверен я же создаю и заполняю времянку через EXEC следовательно ниже курсор уже не увидит ее ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2013, 19:09 |
|
Как передать имя таблицы в хранимую процедуру с курсором из VB
|
|||
---|---|---|---|
#18+
AntonariyAriessпропущено... Как сделать рандомное имя ? ) Код: sql 1.
буду пробовать спс ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2013, 19:09 |
|
Как передать имя таблицы в хранимую процедуру с курсором из VB
|
|||
---|---|---|---|
#18+
AntonariyAriessкак потом подсунуть курсору нужное имя таблички ?Вот пример такой процедуры. Временной таблицы там нет, но принцип работы с ней такой же как с курсором. Код: sql 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. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69.
Смысл уловил интересный вариант ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2013, 19:20 |
|
Как передать имя таблицы в хранимую процедуру с курсором из VB
|
|||
---|---|---|---|
#18+
Ariess, А если пойти от противного? Зачем вообще создавать в базе временные таблицы, дёргать процедуры? Для построения графика, по моему, этого и не надо. Или я совсем Вас не понял! ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2013, 05:36 |
|
Как передать имя таблицы в хранимую процедуру с курсором из VB
|
|||
---|---|---|---|
#18+
BarkanAriess, А если пойти от противного? Зачем вообще создавать в базе временные таблицы, дёргать процедуры? Для построения графика, по моему, этого и не надо. Или я совсем Вас не понял! Чтоб нарисовать график нужны данные не так ли ? Чтобы получить данные приходится делать запрос из запроса во времянку по которой курсор делает расчет. А на прямую запрос подключить к курсору немогу потому что передаю из VB длинную строковую переменную для IN из за этого пришлось все делать через EXEC. Отсуда и весь гемор собственно ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2013, 09:54 |
|
Как передать имя таблицы в хранимую процедуру с курсором из VB
|
|||
---|---|---|---|
#18+
AriessНо как я уже писал выше при одновременном запуске из двух приложений он кричит что табличка ##t уже создана. учите оракл глобалтемпораритэйбл вас спасёт ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2013, 10:02 |
|
Как передать имя таблицы в хранимую процедуру с курсором из VB
|
|||
---|---|---|---|
#18+
pationAriessНо как я уже писал выше при одновременном запуске из двух приложений он кричит что табличка ##t уже создана. учите оракл глобалтемпораритэйбл вас спасёторакл не нужен. ## и есть глобал темпорари, а # — локал темпорари. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2013, 10:20 |
|
Как передать имя таблицы в хранимую процедуру с курсором из VB
|
|||
---|---|---|---|
#18+
AriessА на прямую запрос подключить к курсору немогу потому что передаю из VB длинную строковую переменную для IN из за этого пришлось все делать через EXEC.Даже по описанию похоже на говнокод. Можете показать текст процедуры? Ее наверняка можно переписать красиво. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2013, 10:24 |
|
Как передать имя таблицы в хранимую процедуру с курсором из VB
|
|||
---|---|---|---|
#18+
AriessА на прямую запрос подключить к курсору немогу потому что передаю из VB длинную строковую переменную для IN из за этого пришлось все делать через EXEC. Отсуда и весь гемор собственноСтроковую переменную можно распарсить в табличку. А можно передать в процедуру не строку а Table-Valued параметр, или XML. Версия SQL Server какая? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2013, 10:30 |
|
Как передать имя таблицы в хранимую процедуру с курсором из VB
|
|||
---|---|---|---|
#18+
2005 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2013, 11:32 |
|
Как передать имя таблицы в хранимую процедуру с курсором из VB
|
|||
---|---|---|---|
#18+
AriessAntonariyпропущено... Вот пример такой процедуры. Временной таблицы там нет, но принцип работы с ней такой же как с курсором. Код: sql 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. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69.
Смысл уловил интересный вариант Даааа нагнул таки. Спасибо за дельный совет. И всем спасибо за внимание ) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2013, 14:05 |
|
|
start [/forum/topic.php?fid=20&msg=38265608&tid=1404660]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
68ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
others: | 315ms |
total: | 490ms |
0 / 0 |