powered by simpleCommunicator - 2.0.31     © 2024 Programmizd 02
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Процедура вставки данных во временную таблицу
9 сообщений из 9, страница 1 из 1
Процедура вставки данных во временную таблицу
    #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
Процедура вставки данных во временную таблицу
    #39996706
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я с Террадатой не работал
Но синтаксис чем-то на plsql похож

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

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


Но я с Террадатой не работал
Так что моё мнение можно не учитывать :)
...
Рейтинг: 0 / 0
Процедура вставки данных во временную таблицу
    #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
Процедура вставки данных во временную таблицу
    #39996717
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий86,

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

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


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