mysql怎么將變量賦值 數據庫給變量賦值
mysql 存儲過程怎么賦值?
DELIMITER?$$
我們提供的服務有:成都網站設計、成都做網站、外貿網站建設、微信公眾號開發、網站優化、網站認證、福貢ssl等。為近1000家企事業單位解決了網站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的福貢網站制作公司
USE?`test`$$
DROP?PROCEDURE?IF?EXISTS?`p_getAllTablesCount`$$
CREATE?DEFINER=`root`@`localhost`?PROCEDURE?`p_getAllTablesCount`()
BEGIN
DECLARE?tableName?VARCHAR?(100);
DECLARE?tablesn?VARCHAR?(100);
DECLARE?tableCount?INT;
DECLARE?stopFlag?INT;
DECLARE?sqlStr?VARCHAR(1000);
--?注意:請修改數據庫名稱
DECLARE?cursor_name?CURSOR??FOR?SELECT?TABLE_NAME??FROM?information_schema.tables?WHERE?table_schema='test';
DECLARE?CONTINUE?HANDLER?FOR?SQLSTATE?'02000'??SET?stopFlag=1;
CREATE?TABLE?IF?NOT?EXISTS?temp_table(table_name?VARCHAR(100),table_count?VARCHAR(100));???
OPEN?cursor_name;
REPEAT
FETCH?cursor_name?INTO?tableName;
SET?sqlStr?=?CONCAT('SELECT?COUNT(1)?into?@tableCount?FROM?',?tableName);
SELECT?sqlStr?INTO?@sqlStr;
--?select??@sqlStr;
SELECT?@tableCount?INTO?tableCount;
BEGIN
PREPARE?stepInsertIntoTable?FROM?@sqlStr;
EXECUTE?stepInsertIntoTable;
END;
SET?sqlStr?=?CONCAT('insert?into??temp_table?values(''',CONCAT(tableName),''',''',CONCAT(tableCount),''');');
SELECT?sqlStr?INTO?@sqlStr;
BEGIN
PREPARE?stepInsertIntoTable?FROM?@sqlStr;
EXECUTE?stepInsertIntoTable;
END;
UNTIL?stopFlag??END?REPEAT;
CLOSE?cursor_name;???
SELECT?table_name,table_count?FROM?temp_table?ORDER?BY?table_count?DESC;
--?PREPARE?step?FROM?@sql1;
--?EXECUTE?step;
DROP?TABLE??temp_table;
END$$
DELIMITER?;
mysql 進:在存儲過程中用select 如何給變量賦值
用select...into語句
下面是mysql 5.0的幫助文檔的:
這個SELECT語法把選定的列直接存儲到變量。因此,只有單一的行可以被取回。
SELECT id,data INTO x,y FROM test.t1 LIMIT 1;
注意,用戶變量名在MySQL 5.1中是對大小寫不敏感的。請參閱9.3節,“用戶變量”。
重要: SQL變量名不能和列名一樣。如果SELECT ... INTO這樣的SQL語句包含一個對列的參考,并包含一個與列相同名字的局部變量,MySQL當前把參考解釋為一個變量的名字。例如,在下面的語句中,xname 被解釋為到xname variable 的參考而不是到xname column的:
CREATE PROCEDURE sp1 (x VARCHAR(5))
BEGIN
DECLARE xname VARCHAR(5) DEFAULT 'bob';
DECLARE newname VARCHAR(5);
DECLARE xid INT;
SELECT xname,id INTO newname,xid
FROM table1 WHERE xname = xname;
SELECT newname;
END;
當這個程序被調用的時候,無論table.xname列的值是什么,變量newname將返回值‘bob’。
在mysql中變量賦值使用什么符號呢?,使用=有時候會報錯。
在mysql中因為沒有比較符號==,所以是用=代替比較符號,有時候在賦值的時候,會報錯。1.mysql為了避免系統分不清是賦值還是比較,特定增加了一個變量的賦值符號 ":=" 。
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 procedure IF EXISTS pro_test_3;
delimiter //
create procedure 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();
mysql怎么賦值
set@num=1;或set@num:=1。
set@num=1;或set@num:=1;//這里要使用變量來保存數據,直接使用@num變量。
當前標題:mysql怎么將變量賦值 數據庫給變量賦值
網址分享:http://www.xueling.net.cn/article/docjdgc.html