欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql call 數組

方一強2年前11瀏覽0評論

MySQL 的 Call 數組是一種非常實用的功能,它可以讓我們實現多個 SQL 語句的執行,并且能夠將其返回的結果全部保存在一個數組中。使用 Call 數組,我們可以方便地對 MySQL 數據庫進行操作,提高開發效率。

例子:
DECLARE v_item ENUM('person', 'car', 'book', 'phone');
DECLARE v_id INT;
DECLARE v_price DECIMAL(8,2);
DECLARE v_count INT;
DECLARE v_total DECIMAL(10,2);
-- 創建臨時表
CREATE TEMPORARY TABLE tmp_result (
item ENUM('person', 'car', 'book', 'phone'),
id INT,
price DECIMAL(8,2),
count INT,
total DECIMAL(10,2)
);
-- 遍歷參數數組,執行 SQL 語句,并將結果存儲到 tmp_result 表中
SET @i = 1;
WHILE @i<= (SELECT COUNT(*) FROM params) DO
SET @sql = CONCAT('SELECT "', params[@i].item, '", "',
params[@i].id, '", "',
params[@i].price, '", "',
params[@i].count, '", "',
params[@i].price * params[@i].count, '"');
PREPARE stmt1 FROM @sql;
EXECUTE stmt1;
INSERT INTO tmp_result VALUES (params[@i].item, params[@i].id, params[@i].price, params[@i].count, params[@i].price * params[@i].count);
DEALLOCATE PREPARE stmt1;
SET @i = @i + 1;
END WHILE;
-- 獲取 tmp_result 表的數據,并計算出總價
SELECT * FROM tmp_result;
SELECT SUM(total) INTO v_total FROM tmp_result;

在上面的例子中,我們首先定義了一個存儲參數的數組 params。然后通過遍歷這個數組,執行 SQL 語句,將結果存儲到臨時表 tmp_result 中。最后,我們通過查詢這個表,可以獲得所有執行結果的詳細信息,并計算出它們的總價。