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://azwzsj.com/article/docjdgc.html