繁体   English   中英

创建mysql更新存储过程

[英]creating mysql update stored procedure

创建更新存储过程时出现错误 1064,我不知道哪里出错了

DELIMITER $$

创建

PROCEDURE `sms_pigen`.`sp_update`(IN Clearing_Agent_ID INT(11), IN ClientCode VARCHAR(10), IN ClientName VARCHAR(50), IN PostalAdd VARCHAR(200), IN Telephone VARCHAR(30), IN Fax VARCHAR (30), IN EmailAdd1 VARCHAR(255), IN EmailAdd2 VARCHAR(255), IN EmailAdd3 VARCHAR(255), IN Website VARCHAR(50), IN TotalDeposit DECIMAL(18,2), IN AccountBal DECIMAL(18,2), IN ChargeRate DECIMAL(10,2))

BEGIN
UPDATE t_pi_clients SET pClientCode = ClientCode, pClientName = ClientName, pPostalAdd = PostalAdd, pTelephone = Telephone, pFax = Fax, pEmailAdd1 = EmailAdd1, pEmailAdd2 = EmailAdd2, pEmailAdd3 = EmailAdd3, pWebsite = Website, pTotalDeposit = TotalDeposit, pAccountBal = AccountBal, pChargeRate = ChargeRate WHERE Clearing_Agent_ID = Clearing_Agent_ID;

END$$

分隔符;

错误代码

Query : CREATE     /*[DEFINER = { user | CURRENT_USER }]*/     PROCEDURE `sms_pigen`.`sp_update`(IN Clearing_Agent_ID INT(11), IN Client...

错误代码:1064 您的 SQL 语法有错误; 检查与您的 MySQL 服务器版本相对应的手册,以获取在第 16 行的 '/*LANGUAGE SQL /*LANGUAGE SQL END$$DELIMITER' 附近使用的正确语法 Execution Time : 00:00:00:000 Transfer Time : 00:00 :00:000 总时间 : 00:00:00:000

CREATE DEFINER=`pcbb-uat`@`%` PROCEDURE `Update_Data`(IN TABLE_NAME longtext,in column_name varchar(1000),in column_value longtext,in Parameter varchar(1000),in parameter_value varchar(100))
BEGIN
     
                set @whereclouse = CONCAT('[',Parameter,'] = ''',parameter_value,'''');
                SET @query = CONCAT('update [',TABLE_NAME,'] SET [',column_name,'] = ''',column_value,'''  WHERE ');
                set @updt = concat(@query,@whereclouse);
                select @updt;
                PREPARE stmt FROM @updt;
                EXECUTE stmt ;
                DEALLOCATE PREPARE stmt;
END

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM