Гость
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Процедура вставки данных во временную таблицу / 9 сообщений из 9, страница 1 из 1
08.09.2020, 18:47
    #39996680
Дмитрий86
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Процедура вставки данных во временную таблицу
Всем добрый вечер! Написал процедуру, которая инсертит данные во временную таблицу:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
CREATE PROCEDURE Shop.proc_product  
(
	IN ProductID INTEGER,
	IN Value FLOAT)
BEGIN
	CREATE MULTISET VOLATILE TABLE vt_proc_product
            (
			IN ProductID INTEGER,
	                IN Value FLOAT
	    )
	    PRIMARY INDEX (ProductID)
	    ON COMMIT PRESERVE ROWS;
		
	INSERT INTO vt_proc_product VALUES (:ProductID, :Value);
END;

CALL proc_product  (105, 200.5);



К сожалению не могу проверить на правильность работы, подскажите пожалуйста все ли правильно сделал? И еще вопрос, при вызове процедуры тип float значение писать через точку или запятую? Всем спасибо!
...
Рейтинг: 0 / 0
08.09.2020, 20:42
    #39996706
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Процедура вставки данных во временную таблицу
Я с Террадатой не работал
Но синтаксис чем-то на plsql похож

Так вот, всё не нравится
Начиная от создания временной таблицы в процедуре
И каких-то IN в полях той же таблицы

И зачем вообще такая процедура


Но я с Террадатой не работал
Так что моё мнение можно не учитывать :)
...
Рейтинг: 0 / 0
08.09.2020, 21:12
    #39996715
Дмитрий86
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Процедура вставки данных во временную таблицу
andreymx,
да, действительно, создание временной таблицы исправил, спасибо за поправку
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
CREATE PROCEDURE Shop.proc_product  
(
	IN ProductID INTEGER,
	IN Value FLOAT)
BEGIN
	CREATE MULTISET VOLATILE TABLE vt_proc_product
            (
		 ProductID INTEGER,
	         Value FLOAT
	    )
	    PRIMARY INDEX (ProductID)
	    ON COMMIT PRESERVE ROWS;
		
	INSERT INTO vt_proc_product VALUES (:ProductID, :Value);
END;

CALL proc_product  (105, 200.5);



Процедура нужна для вставки значений в таблицу, создал временную и записываю туда.
Вообще задача звучит так: вызвать процедуру, указать входимые параметры - это айди продукта и сумма (value). Ну а чтоюы ее вызвать необходимо сначала создать - поэтому я и создал процедуру, в которой создается временная таблица, куда записываются эти значения. Может у Вас будут другие идеи как это еще можно реализовать. Буду благодарен за предложения.
...
Рейтинг: 0 / 0
08.09.2020, 21:25
    #39996717
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Процедура вставки данных во временную таблицу
Дмитрий86,

т.е. вам реально нужна таблица с единственной записью?
...
Рейтинг: 0 / 0
08.09.2020, 21:33
    #39996719
Дмитрий86
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Процедура вставки данных во временную таблицу
miksoft,
да, я просто буду вызывать процедуру ежедневно, передавая в нее свежие параметры.
Но с кодом создания процедуры все в норме? Опять же повторюсь, не могу проверить(
...
Рейтинг: 0 / 0
08.09.2020, 22:03
    #39996727
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Процедура вставки данных во временную таблицу
Дмитрий86
Но с кодом создания процедуры все в норме?
на глаз - вроде да.
...
Рейтинг: 0 / 0
08.09.2020, 22:06
    #39996728
Дмитрий86
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Процедура вставки данных во временную таблицу
miksoft, благодарю!
...
Рейтинг: 0 / 0
08.09.2020, 22:46
    #39996731
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Процедура вставки данных во временную таблицу
Всё равно ничего не понимаю
Зачем при каждом вызове процедуры создавать таблицу (временную?)
Кто её будет дропать, как её будут использовать

Кстати, двоеточия в процедуре точно нужны?
...
Рейтинг: 0 / 0
08.09.2020, 22:53
    #39996732
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Процедура вставки данных во временную таблицу
andreymx
Кто её будет дропать
Она VOLATILE, живет до конца сессии.
...
Рейтинг: 0 / 0
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Процедура вставки данных во временную таблицу / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]