Форум программистов, компьютерный форум, киберфорум
Наши страницы
Базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
ponyrev
0 / 0 / 0
Регистрация: 25.09.2007
Сообщений: 3
1

процедуры ненутрят массивы...

25.09.2007, 22:12. Просмотров 536. Ответов 3
Метки нет (Все метки)

Подскажите чайнику изящный способ сделать массовый
insert через stored procedure. В книжке пишут, что все
параметры д.б. одинаковой размерности. Пусть так.
Процедура примитивная написана такая:

SQL
1
2
3
4
5
6
7
8
CREATE PROCEDURE ins_adj
   (@issueId INT, @adjDate INT, 
    @refno CHAR(8), @amt DEC (11,3))
AS IF @issueID <> 0
    INSERT INTO aprecon.dbo.aprAdjustments 
                       (issueID, adjDate, refno, amt)
    VALUES (@issueID, @adjDate, @refno, @amt)
RETURN
Перед заполнением массив обнуляется, естессно.
Daлее, процедуре передаются host-variables, описанные
массивами. Все элементы - одной размерности (как учили).
На исходном файле из 4-х записей все работает (как водится...)
А на рабочем файле - крашится по инвалидному типу данных.
Но это беда второго порядка (процедуры вызываются из
кобольной программы, скорее всего там грязь в конце), а вот
насчет изящного синтаксиса - вопрос: как она работает,
собака? И как ее остановить, если у меня хвост массива - пустой? Обьединить данные в массивы пришлось из-за времени - update напрямую идет 10 - 15 минут!, а он ежедневный.
Да, все происходит в SQL7 na NT-шном сервере.

Заранее благодарю,
Понырев.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.09.2007, 22:12
Ответы с готовыми решениями:

Создание хранимой процедуры, которая создает хранимые процедуры
Написать хранимую процедуру SQL , которая будет создавать хранимые...

Вызов процедуры из хранимой процедуры
подскажите плз. кто сталкивался по теме. необходима так же передача параметров....

Вызов процедуры внутри процедуры
Здравствуйте, Как правильно это сделать? alter procedure . as BEGIN ...

Какие процедуры и функции вызываются из заданной процедуры
Подскажите, каким образом, используя сведения из представлений словаря данных,...

Запуск процедуры с параметрами из процедуры
Подскажите как запускать процедуры с параметрами? как просто запустить вроде...

3
YURA
26.09.2007, 06:13 2
По любому, драйвер ODBC(надеюсь это ваше ПО?)
преобразует SQLExecute с параметрами привязанными к массивам в пакетник состоящий из последовательности вызовов этой самой процедуры
с каждым из элементов массива:
exec proc a(1),b(1)
exec proc a(2),b(2)
...
Можно сделать то же самое самостоятельно
и самостоятельно определеть размер пакета
ponyrev
0 / 0 / 0
Регистрация: 25.09.2007
Сообщений: 3
26.09.2007, 18:10  [ТС] 3
spasibo.
я почему-то надеялся, что драйвер всю пачку отправит
на сервер, и там будут крутиться массивы. Хотел, как лучше,
а вышло... от 10 мин. до одного часа увеличилось время
работы...
всего,
жан.
0
YURA
27.09.2007, 06:30 4
Все дело в волшебных пузырьках системы обработки транзакций...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.09.2007, 06:30

Массивы. (процедуры)
Народ, такая тема. Нужно проверить программу на правильность(правописание и...

Процедуры и массивы
Люди, помогите! Второй день торможу, а сдавать надо( Составить программу,...

массивы и процедуры
помогите пожалуйста с задачей на функции и массивы. Задание: вывести на экран...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru