Форум программистов, компьютерный форум, киберфорум
Наши страницы

Базы данных

Войти
Регистрация
Восстановить пароль
 
ponyrev
0 / 0 / 0
Регистрация: 25.09.2007
Сообщений: 3
#1

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

25.09.2007, 22:12. Просмотров 528. Ответов 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 Server
подскажите плз. кто сталкивался по теме. необходима так же передача параметров. За ранее всем благодарен

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

Запуск процедуры с параметрами из процедуры - Oracle
Подскажите как запускать процедуры с параметрами? как просто запустить вроде бы понятно, если она может не принимать значений. ...

Массивы, процедуры. - Pascal
Задание 7 Даны массивы PR1, ... , PR9 - наименования заводов; L1, ... , L9 - лимит электроэнергии, кВт. ч; R1, ... , R9 -...

Массивы. Процедуры - Turbo Pascal
Задание №22 Ребятушки, помогите пожалуйста написать программу и блок схему, буду очень благодарна!!

процедуры и массивы - Delphi
1.Разработать процедуру, которая в массиве целых чисел находит число, в двоичном представлении которого больше всего единиц и количество...

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
Все дело в волшебных пузырьках системы обработки транзакций...
27.09.2007, 06:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.09.2007, 06:30
Привет! Вот еще темы с ответами:

Массивы. Процедуры - Pascal
Товарищи, у меня затруднение в понимании задания. Очень надеюсь на вашу помощь: По заданным 20-элементным целым массивам X и Y вычислить...

Массивы. (процедуры) - Turbo Pascal
Народ, такая тема. Нужно проверить программу на правильность(правописание и т.п.) Приведу задание и 2 программы(1 обычная, 2 процедуры) ...

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

Массивы и Процедуры - Pascal
Дан двумерный массив А. Описать две процедуры: заполнение и вывод матрицы. Строку матрицы в которой находится наибольший элемент...


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

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

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