1

私はの意味が何であるかを理解しようとしています

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' の間に違いはありますか?

ありがとう

4

1 に答える 1

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;
于 2013-02-08T02:53:22.360 に答える