日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql out返回结果_在MySQL的存储过程的OUT参数中返回结果集

發布時間:2025/3/19 数据库 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql out返回结果_在MySQL的存储过程的OUT参数中返回结果集 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我在

MySQL的過程,它有兩個IN參數:USERLOGIN(VARCHAR)和的userPassword(VARCHAR),以及兩個OUT參數:用戶ID(INT)和userRights(VARCHAR).

該過程的工作原理如下:檢查具有給定登錄名和密碼的用戶是否在數據庫中,如果是,則返回其ID,userRights和設置.權限可以連接成一個字符串,但我想避免連接并隨后解析websettings,因為數據的結構更復雜.

現在,我的過程只返回userID和userRights,如果成功,我運行另一個select語句來獲取設置.

目前程序:

DELIMITER $$

CREATE PROCEDURE `proc_login_user`(IN UserName VARCHAR(45), IN Pwd VARCHAR(250), OUT Uid INT, OUT Rights VARCHAR(100))

BEGIN

DECLARE Uname VARCHAR(45);

DECLARE Pass VARCHAR(250);

DECLARE UserId INT;

SET @Uname := UserName;

SET @Pass := Pwd;

SET @UserId = (SELECT ID FROM `users` WHERE Login = @Uname AND Password = @Pass);

SET Uid = @UserId;

SET Rights = /* some SELECT GROUP_CONCAT statement to create string */

END;

我希望在procedure中添加一個輸出參數:userSettings,它應該是一個結果集.

像這樣的東西:

DELIMITER $$

CREATE PROCEDURE `proc_login_user`(IN UserName VARCHAR(45), IN Pwd VARCHAR(250), OUT Uid INT, OUT Rights VARCHAR(100), OUT Settings)

BEGIN

DECLARE Uname VARCHAR(45);

DECLARE Pass VARCHAR(250);

DECLARE UserId INT;

SET @Uname := UserName;

SET @Pass := Pwd;

SET @UserId = (SELECT ID FROM `users` WHERE Login = @Uname AND Password = @Pass);

SET Uid = @UserId;

SET Rights = /* some SELECT GROUP_CONCAT statement to create string */

SET Settings = SELECT * FROM `settings` WHERE UserID = @UserId;

END;

任何幫助,將不勝感激.

謝謝,

茲比涅克

總結

以上是生活随笔為你收集整理的mysql out返回结果_在MySQL的存储过程的OUT参数中返回结果集的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。