Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Mengisi Jadual MySQL dengan Nombor Rawak Menggunakan Prosedur Tersimpan?

Bagaimana untuk Mengisi Jadual MySQL dengan Nombor Rawak Menggunakan Prosedur Tersimpan?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-25 07:56:02317semak imbas

How to Populate a MySQL Table with Random Numbers Using Stored Procedures?

Isi Jadual MySQL dengan Nombor Rawak Menggunakan Prosedur Tersimpan

Pernyataan Masalah

Buat jadual MySQL bernama rand_numbers dengan satu lajur bernama nombor jenis INT . Isi jadual dengan nombor rawak 1111 antara 2222 dan 5555.

Penyelesaian

Untuk mencipta dan mengisi jadual rand_numbers menggunakan prosedur tersimpan MySQL, ikut langkah berikut:

1. Cipta Jadual

<code class="sql">CREATE TABLE rand_numbers (
    number INT NOT NULL
) ENGINE = MYISAM;</code>

2. Cipta Prosedur Tersimpan

Tentukan prosedur tersimpan yang dipanggil InsertRand yang menggelung dan memasukkan nilai rawak ke dalam jadual:

<code class="sql">DELIMITER $$
CREATE PROCEDURE InsertRand(IN NumRows INT, IN MinVal INT, IN MaxVal INT)
BEGIN
    DECLARE i INT;
    SET i = 1;
    START TRANSACTION;
    WHILE i <= NumRows DO
        INSERT INTO rand_numbers VALUES (MinVal + CEIL(RAND() * (MaxVal - MinVal)));
        SET i = i + 1;
    END WHILE;
    COMMIT;
END$$
DELIMITER ;</code>

3. Panggil Prosedur Tersimpan

Panggil prosedur InsertRand dengan bilangan baris yang dikehendaki, nilai minimum dan nilai maksimum:

<code class="sql">CALL InsertRand(1111, 2222, 5555);</code>

Contoh

Untuk memasukkan 600 nilai rawak antara 1200 dan 8500 ke dalam jadual rand_numbers:

<code class="sql">CALL InsertRand(600, 1200, 8500);</code>

Menggunakan Semula Prosedur

Anda boleh menggunakan semula prosedur InsertRand untuk menjana nilai rawak untuk julat dan jadual yang berbeza dengan memanggilnya dengan parameter yang berbeza .

Atas ialah kandungan terperinci Bagaimana untuk Mengisi Jadual MySQL dengan Nombor Rawak Menggunakan Prosedur Tersimpan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn