【问题标题】:conversion microsoft sql to mysql [closed]将microsoft sql转换为mysql [关闭]
【发布时间】:2012-08-01 05:26:28
【问题描述】:

我正在将它从 mssql 转换为 mysql,但它给了我这个错误:

错误代码:1415 不允许从函数返回结果集

我做错了什么?

DELIMITER $$  

CREATE    FUNCTION GetPositionList (orderDetID NUMERIC)  
RETURNS NVARCHAR(200)    
DETERMINISTIC   
BEGIN   
DECLARE strToReturn NVARCHAR(50);  
DECLARE strPos NVARCHAR(50);  
DECLARE strPosOtherRes NVARCHAR(50);  
DECLARE strTPos NVARCHAR(50);  
DECLARE strTPosOtherResr NVARCHAR(50)


SET strToReturn = '';  
SET strPos = SELECT `POSITION` FROM orderdetails WHERE OrderID = orderDetID;
SET strPosOtherRes = SELECT SecPosition FROM orderdetails WHERE OrderID = orderDetID;
SET strTPos = SELECT TeamPosition FROM orderdetails WHERE OrderID = orderDetID;
SET strTPosOtherResr = SELECT TeamSecPosition FROM orderdetails WHERE OrderID = orderDetID;


IF(strPos != '') THEN SET strToReturn = CONCAT(strPos , ',');
END IF;
IF(strPosOtherRes != '' ) THEN SET strToReturn = CONCAT(strToReturn ,  strPosOtherRes , ',');
END IF;
IF(strTPos != '' ) THEN SET strToReturn =  CONCAT(strToReturn ,  strTPos , ',');
END IF;
IF(strTPosOtherResr != '' ) THEN SET strToReturn =  CONCAT(strToReturn , strTPosOtherResr , ',');
END IF;     
RETURN SUBSTRING( strToReturn, 0, LENGTH(strToReturn) );  
END $$  
DELIMITER ; 

【问题讨论】:

  • Stackoverflow 不是通用转换器。请阅读常见问题解答stackoverflow.com/faq#questions
  • 我正在将它从 mssql 转换为 mysql,但它给了我这个错误:Error Code : 1415 Not allowed to return a result set from a function

标签: mysql sql-server


【解决方案1】:

在 MySQL 中为变量选择值的语法是select ... into。例如你可以写:

SELECT POSITION, SecPosition FROM orderdetails 
WHERE OrderID = orderDetID INTO strPos, strPosOtherRes;

“不允许从函数返回结果集”消息意味着现在的 select 语句将从函数返回结果集,而函数只能返回单个值。

【讨论】:

  • 对不起,现在它给出了语法错误... :(
  • 用您的新程序和错误消息更新您的问题,或者提出一个新问题。如果语法错误来自 SELECT ... INTO 你可以参考这个页面:dev.mysql.com/doc/refman/5.5/en/select-into.html
  • 更新问题。请立即检查。
  • 您在最后一个 DECLARE 之后缺少一个分号。
  • 分号没有任何反应。结果与语法错误相同.. 'SELECT POSITION FROM orderdetails WHERE OrderID = orderDetID; 附近使用的语法在第 12 行设置 strPosOther'
猜你喜欢
  • 2010-12-18
  • 2013-05-24
  • 2011-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-17
  • 2010-12-17
  • 1970-01-01
相关资源
最近更新 更多