powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Заполнение данными таблицы в хранимой процедуре. Помогите новичку, пожалуйста.
6 сообщений из 6, страница 1 из 1
Заполнение данными таблицы в хранимой процедуре. Помогите новичку, пожалуйста.
    #39967166
kate1994-07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день! Помогите, пожалуйста. Есть созданная пустая таблица и есть хранимая процедура. По заданию нужно использовать REAL, а тип данных в price INT или DECIMAL ( что с REAL дает просто 0). Нужно, чтобы даты присваивались разные, а category_id от 1 до 100 присваивалась случайным образом. Как это сделать? Не могу справиться с этими последними тремя столбцами- price,category_id и last_delivery.

CREATE TABLE products
(
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
price INT NOT NULL,
category_id INT NOT NULL,
FOREIGN KEY (category_id) REFERENCES categories(id),
last_delivery DATE
);

DELIMITER $$
CREATE PROCEDURE add_products()
BEGIN
DECLARE i INT DEFAULT 1;
WHILE i <= 5000 DO
INSERT INTO products (name, price, category_id, last_delivery)
VALUES (CONCAT('product',i), ????????);
SET i = i + 1;
END WHILE;
END $$
...
Рейтинг: 0 / 0
Заполнение данными таблицы в хранимой процедуре. Помогите новичку, пожалуйста.
    #39967171
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kate1994-07
По заданию нужно использовать REAL
В MySQL REAL - это алиас DOUBLE.

kate1994-07
Нужно, чтобы даты присваивались разные, а category_id от 1 до 100 присваивалась случайным образом.

Для категории - 1 + 99 * RAND()
Для даты - @MinDate + INTERVAL @IntervalLength * RAND() DAY

Процедура для этого не нужна - всё делается обычным запросом. CTE, если версия восьмая, иначе две копии INFORMATION_SCHEMA.COLLATIONS в качестве опоры.
...
Рейтинг: 0 / 0
Заполнение данными таблицы в хранимой процедуре. Помогите новичку, пожалуйста.
    #39967181
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina
В MySQL REAL - это алиас DOUBLE.
Но, оказывается, может быть перенастроено на FLOAT .
...
Рейтинг: 0 / 0
Заполнение данными таблицы в хранимой процедуре. Помогите новичку, пожалуйста.
    #39967195
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft , не то что не видел или не слышал - чёта даже представить не могу, когда это может быть нужно...
...
Рейтинг: 0 / 0
Заполнение данными таблицы в хранимой процедуре. Помогите новичку, пожалуйста.
    #39967205
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina
miksoft , не то что не видел или не слышал - чёта даже представить не могу, когда это может быть нужно...
Понятия не имею. Я вообще тип REAL в живой природе только в Turbo Pascal-е видел (там он, правда, не синоним ни float, ни double).
...
Рейтинг: 0 / 0
Заполнение данными таблицы в хранимой процедуре. Помогите новичку, пожалуйста.
    #39967247
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft
Я вообще тип REAL в живой природе только в Turbo Pascal-е видел

Не, тип-то достаточно распространённый ( MS SQL , Postgres )...
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Заполнение данными таблицы в хранимой процедуре. Помогите новичку, пожалуйста.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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