當前位置:首頁 » 存儲配置 » mysql存儲過程查詢賦值

mysql存儲過程查詢賦值

發布時間: 2022-07-11 21:54:52

A. 關於mysql存儲過程select into無法賦值詭異的事情,請大神求教,這是怎麼回事

方法是沒有問題,可以在insert into 前面加一條select userName ; 用於檢查是否正常獲取到值。

B. Mysql將存儲過程執行後的值賦值給變數

Mysql存儲過程查詢結果賦值到變數的方法

把查詢結果賦值到變數,大部分情況下使用游標來完成,但是如果明確知道查詢結果只有一行(例如統計記錄的數量,某個欄位求和等),其實可以使用set或into的方式來實現賦值。示例代碼:

drop table if exists test_tbl;
create table test_tbl (name varchar(20), status int(2));
insert into test_tbl values('abc', 1),('edf', 2),('xyz', 3);
drop procere IF EXISTS pro_test_3;
delimiter //
create procere pro_test_3()
begin
DECLARE cnt INT DEFAULT 0;
select count(*) into cnt from test_tbl;
select cnt;
-- 多個列的情況下似乎只能用 into 方式
select max(status), avg(status) into @max, @avg from test_tbl;
select @max, @avg;
end
delimiter ;
call pro_test_3();

C. MYSQL的存儲過程count(*)賦值給變數的問題

count(*)可以快速遍歷整個數據表,統計出符合條件的總條數X
正確用法是:
select count(*) as a from table where ...
執行之後,該結果中就有一個名為a的變數,其值為X

D. mysql 存儲過程怎麼賦值

DELIMITER$$
USE`test`$$
DROPPROCEDUREIFEXISTS`p_getAllTablesCount`$$
CREATEDEFINER=`root`@`localhost`PROCEDURE`p_getAllTablesCount`()
BEGIN
DECLAREtableNameVARCHAR(100);
DECLAREtablesnVARCHAR(100);
DECLAREtableCountINT;
DECLAREstopFlagINT;
DECLAREsqlStrVARCHAR(1000);
--注意:請修改資料庫名稱
DECLAREcursor_nameCURSORFORSELECTTABLE_NAMEFROMinformation_schema.tablesWHEREtable_schema='test';
'02000'SETstopFlag=1;
CREATETABLEIFNOTEXISTStemp_table(table_nameVARCHAR(100),table_countVARCHAR(100));
OPENcursor_name;
REPEAT
FETCHcursor_nameINTOtableName;
SETsqlStr=CONCAT('SELECTCOUNT(1)into@tableCountFROM',tableName);
SELECTsqlStrINTO@sqlStr;
--select@sqlStr;
SELECT@tableCountINTOtableCount;
BEGIN
@sqlStr;
EXECUTEstepInsertIntoTable;
END;
SETsqlStr=CONCAT('insertintotemp_tablevalues(''',CONCAT(tableName),''',''',CONCAT(tableCount),''');');
SELECTsqlStrINTO@sqlStr;
BEGIN
@sqlStr;
EXECUTEstepInsertIntoTable;
END;
UNTILstopFlagENDREPEAT;
CLOSEcursor_name;
SELECTtable_name,table_countFROMtemp_tableORDERBYtable_countDESC;
--PREPAREstepFROM@sql1;
--EXECUTEstep;
DROPTABLEtemp_table;
END$$
DELIMITER;

E. mysql 存儲過程 局部變數賦值給where 查詢無結果 資料庫有值

欄位加上表名:

select `fname`,`lname` from `employee` where `employee`.`depart` = tmp;

熱點內容
python表格抓取 發布:2024-10-08 13:30:31 瀏覽:718
編寫定時下載ftp文件腳本 發布:2024-10-08 13:30:18 瀏覽:227
電腦上怎麼看本機的配置 發布:2024-10-08 13:26:02 瀏覽:41
androidepub 發布:2024-10-08 13:25:22 瀏覽:549
怎麼拿雲伺服器做進銷存 發布:2024-10-08 13:25:14 瀏覽:724
小本解說伺服器是什麼 發布:2024-10-08 13:25:09 瀏覽:393
安卓倍速腳本 發布:2024-10-08 13:18:48 瀏覽:77
飢荒本地伺服器後續怎麼添加伺服器模組 發布:2024-10-08 13:18:24 瀏覽:199
阿里雲伺服器centos7還是8 發布:2024-10-08 13:16:16 瀏覽:718
安卓手機的屏幕設置在哪裡 發布:2024-10-08 13:14:37 瀏覽:702