我正在努力弄清楚
的含义execute('SELECT customerID [CustomerID],customerCode[Customer Code],
firstName +char(32)+ surname AS [Name],street [Street],phone [Phone],*
FROM tblCustomers WHERE customerCode like '''+ @custCode +'%''')
存储过程中的。 我试图搜索出这么多,但最终无法找到答案,我来到这里寻求帮助。 因为,我正在将SP从MS SQL转换为MySQL,我如何在MySQL中进行翻译? Execute('select * from tablename')和'select * from tablename'之间有什么区别吗?
由于
答案 0 :(得分:0)
SET @sql = CONCAT(' SELECT *,
customerID,
customerCode `Customer Code`,
CONCAT(firstName, ' ', surname) AS `Name`,
street `Street`,
phone `Phone`
FROM tblCustomers
WHERE customerCode like ''', @custCode ,'%''');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
或参数化,
SET @sql = ' SELECT *,
customerID,
customerCode `Customer Code`,
CONCAT(firstName, ' ', surname) AS `Name`,
street `Street`,
phone `Phone`
FROM tblCustomers
WHERE customerCode LIKE CONCAT(?, ''%'')';
PREPARE stmt FROM @sql;
EXECUTE stmt USING @custCode;
DEALLOCATE PREPARE stmt;