我想弄明白
是什么意思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' 有区别吗?
谢谢
最佳答案
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;
关于mysql - MS SQL存储过程中execute ('select * from tablename')有什么用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14764883/