delimiter $$
drop procedure if exists ChangeSequence$$
create procedure ChangeSequence
(
_sign int ,
TableName varchar(50) ,ItemName varchar(50) ,ItemID int ,
SortName varchar(50) ,
TypeName varchar(50) , TypeValue varchar(50) )
begin
declare _SQL varchar(4000);
declare ThisSort int;
declare PREVID int;
declare NextID int;
declare _Count int; create temporary table _Tab
(
ItemID int,
Sort int
);
set _SQL=concat('INSERT INTO _Tab (',ItemID,Sort,') SELECT ' ,ItemName,SortName,' FROM ',TableName) ;if (TypeName<>'' end TypeValue<>'')
set _SQL=concat(_SQL,' where ',TypeName,TypeValue);--这里出错
end$$急用,有答案就结贴
drop procedure if exists ChangeSequence$$
create procedure ChangeSequence
(
_sign int ,
TableName varchar(50) ,ItemName varchar(50) ,ItemID int ,
SortName varchar(50) ,
TypeName varchar(50) , TypeValue varchar(50) )
begin
declare _SQL varchar(4000);
declare ThisSort int;
declare PREVID int;
declare NextID int;
declare _Count int; create temporary table _Tab
(
ItemID int,
Sort int
);
set _SQL=concat('INSERT INTO _Tab (',ItemID,Sort,') SELECT ' ,ItemName,SortName,' FROM ',TableName) ;if (TypeName<>'' end TypeValue<>'')
set _SQL=concat(_SQL,' where ',TypeName,TypeValue);--这里出错
end$$急用,有答案就结贴
set _SQL=concat(_SQL,' where ',TypeName,TypeValue);--这里出错
end if;
end$$
drop procedure if exists ChangeSequence$$
create procedure ChangeSequence
(
_sign int ,
TableName varchar(50) ,ItemName varchar(50) ,ItemID int ,
SortName varchar(50) ,
TypeName varchar(50) , TypeValue varchar(50) )
begin
declare _SQL varchar(4000);
declare ThisSort int;
declare PREVID int;
declare NextID int;
declare _Count int; create temporary table _Tab
(
ItemID int,
Sort int
);
set _SQL=concat('INSERT INTO _Tab (',ItemID,Sort,') SELECT ' ,ItemName,SortName,' FROM ',TableName) ;if (TypeName<>'' end TypeValue<>'') then--少了THEN
set _SQL=concat(_SQL,' where ',TypeName,TypeValue);--这里出错
end$$
DELIMITER $$
DROP PROCEDURE IF EXISTS ChangeSequence$$
CREATE PROCEDURE ChangeSequence
(
_sign INT ,
TableName VARCHAR(50) ,ItemName VARCHAR(50) ,ItemID INT ,
SortName VARCHAR(50) ,
TypeName VARCHAR(50) , TypeValue VARCHAR(50) )
BEGIN
DECLARE _SQL VARCHAR(4000);
DECLARE ThisSort INT;
DECLARE PREVID INT;
DECLARE NextID INT;
DECLARE _Count INT; CREATE TEMPORARY TABLE _Tab
(
ItemID INT,
Sort INT
);
SET _SQL=CONCAT('INSERT INTO _Tab (',ItemID,Sort,') SELECT ' ,ItemName,SortName,' FROM ',TableName) ;IF (TypeName<>'' AND TypeValue<>'') THEN
SET _SQL=CONCAT(_SQL,' where ',TypeName,TypeValue);
END IF;
END$$