Mysql 我希望在sql中使用while循环
我已经在SQLServer中使用了下面的代码,它工作正常,与我在mysql中尝试使用的代码相同,但我收到了错误消息 1064您的sql systex中存在错误;请查看与您的mysql服务器版本对应的手册,以获取正确的systax,以便在第1行的“Declare@var Table quantity int,width varchar255 Insert@var Select”附近使用Mysql 我希望在sql中使用while循环,mysql,sql-server,loops,while-loop,Mysql,Sql Server,Loops,While Loop,我已经在SQLServer中使用了下面的代码,它工作正常,与我在mysql中尝试使用的代码相同,但我收到了错误消息 1064您的sql systex中存在错误;请查看与您的mysql服务器版本对应的手册,以获取正确的systax,以便在第1行的“Declare@var Table quantity int,width varchar255 Insert@var Select”附近使用 在mysql中创建临时表 create temporary table var( quantity int, w
在mysql中创建临时表
create temporary table var( quantity int, width varchar(255) );
create temporary table var1(quantity int, width varchar(255));
将数据插入临时表
insert into var(quantity, width )
SELECT DISTINCT vtiger_inventoryproductrel.quantity, vtiger_inventoryproductrel.width From vtiger_inventoryproductrel
要从mysql表中读取数据,请不要使用游标。
另外,var no contain列idMySQL中的临时表不是Microsoft SQL Server
它们有非常不同的存储过程语言。与微软相比,MySQL的存储过程语言在很多方面都是有限的,功能也不那么强大。大多数MySQL用户根本不编写存储过程,更喜欢用PHP、Ruby、Python、Java、C或其他喜欢的语言在应用层编写业务逻辑
以下是与示例过程相关的几点:
MySQL没有表类型。不能将变量声明为表
用于为语句中的变量赋值,而不是INSERT
用于将查询结果分配给变量
存储过程中的每个语句都需要分号;终结者
您不能选择。。。FROM@var.不支持将变量作为表名。您可以通过将@var连接到一个字符串中,然后将该字符串用作一个字符串来实现这一点
这并不是一个完整的列表,列出了在MySQL中运行此过程需要更改的内容,它只是差异的一个示例。您的语法完全错误。。。错误从一开始就存在,与while循环没有关系。你也应该把它写在一个过程中。当你按照错误信息的建议检查手册时,你发现了什么。谢谢你的回复,我会试试这个
insert into var(quantity, width )
SELECT DISTINCT vtiger_inventoryproductrel.quantity, vtiger_inventoryproductrel.width From vtiger_inventoryproductrel