我正在我的 sql 工作台中创建一个存储过程。我正在修改地址的邮政编码以使用 7 个字符的邮政编码格式化“dn35 7tg”,即使用户没有插入空格。
首先,我找不到将变量打印到控制台屏幕的方法,这对我的情况没有帮助。
运行 Call 语句时
CALL usp_addsupplier('Bobs shopping mania', 'dn465th');
我除了找到以正确格式输入到数据库中的值外,我得到的只是在列中输入的 PK、Null 和 Null。
如果有人能指出我正确的方向,我会很高兴
谢谢你们。
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `usp_addsupplier`(IN SuppliersName VARCHAR(30), IN SuppliersPostCode VARCHAR(15))
BEGIN
-- Declare the change varables
DECLARE postcode VARCHAR(8) DEFAULT SuppliersPostCode;
SET postcode = SuppliersPostCode;
-- Postcode reformat -----------------------------------------------
-- Change postcode to uppercase
SET postCode = UPPER(postCode);
-- Grabs the first 4 letters and stores them in a new varable
SET new_postcode = LEFT (postCode,4);
-- Adds the space to the first 4 letters
SET new_postcode = new_postcode + ' ';
-- Add the last 3 letters to the new varable
SET new_postcode = new_postcode + RIGHT(postCode,3);
INSERT INTO tblsupplier (SupplierName, SupplierPostCode VALUES (new_name, new_postcode));
END