MYSQL 存储过程类似于 SQL SERvER with IF ELSE CONDITION
MYSQL Store Procedure like SQL SERvER with IF ELSE CONDITION
Create Procedure spText(IN Cust_Name longtext)
begin
Declare
@varWhere varchar(max)= ' WHERE Cust_No is not null ' + Char(13),
@varSQL varchar(Max)
SET @varSQL='select * form Customer_Dtls'
if Cust_Name is not null
BEGIN
set @varWhere=@varWhere + ' and Custer_Nm like %Cust_Name%' + Char(13)
end
EXEC (@varSQL + @varWhere)
end
在MySQL中我不知道该怎么做我google但没有得到任何答案请帮助我......
我想要这样,如果我传递客户名称,那么我会根据客户名称数据获取如果我传递 null,那么我会获取所有客户数据
在 sql 服务器上它对我有用,但是在 mysql 中如何操作不知道,因为我正在使用 jsp 并且后端是 mysql.
您的代码有误,必须是 FROM 而不是 form。
在 MySQL 中,此过程按预期工作
DROP procedure IF EXISTS `spText`;
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `spText`(IN Cust_Name longtext)
BEGIN
SET @varWhere = ' WHERE Cust_No is not null ' ;
SET @varSQL='select * FORM Customer_Dtls ';
IF Cust_Name is not null THEN
set @varWhere= CONCAT(@varWhere, " and Custer_Nm like '%Cust_Name%'");
END IF;
SET @SQL= CONCAT(@varSQL , @varWhere);
PREPARE stmt FROM @SQL;
EXECute stmt;
end$$
DELIMITER ;
nbk 先生完美地回答了我的问题谢谢你
Create Procedure spText(IN Cust_Name longtext)
begin
Declare
@varWhere varchar(max)= ' WHERE Cust_No is not null ' + Char(13),
@varSQL varchar(Max)
SET @varSQL='select * form Customer_Dtls'
if Cust_Name is not null
BEGIN
set @varWhere=@varWhere + ' and Custer_Nm like %Cust_Name%' + Char(13)
end
EXEC (@varSQL + @varWhere)
end
在MySQL中我不知道该怎么做我google但没有得到任何答案请帮助我......
我想要这样,如果我传递客户名称,那么我会根据客户名称数据获取如果我传递 null,那么我会获取所有客户数据
在 sql 服务器上它对我有用,但是在 mysql 中如何操作不知道,因为我正在使用 jsp 并且后端是 mysql.
您的代码有误,必须是 FROM 而不是 form。
在 MySQL 中,此过程按预期工作
DROP procedure IF EXISTS `spText`;
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `spText`(IN Cust_Name longtext)
BEGIN
SET @varWhere = ' WHERE Cust_No is not null ' ;
SET @varSQL='select * FORM Customer_Dtls ';
IF Cust_Name is not null THEN
set @varWhere= CONCAT(@varWhere, " and Custer_Nm like '%Cust_Name%'");
END IF;
SET @SQL= CONCAT(@varSQL , @varWhere);
PREPARE stmt FROM @SQL;
EXECute stmt;
end$$
DELIMITER ;
nbk 先生完美地回答了我的问题谢谢你