簡體   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