SQLワークベンチでストアドプロシージャを作成しています。私は、スペースがユーザーによって挿入されていない場合でも、7文字の郵便番号で 'dn35 7tg'をフォーマットするために住所の郵便番号を修正しています。ストアドプロシージャのデータを操作しようとしたときにnull値が表示される
まず、私の状況を助けない変数をコンソール画面に表示する方法を見つけることができません。 Callステートメント
CALL usp_addsupplier('Bobs shopping mania', 'dn465th');
を実行している場合
私は値が正しい書式でデータベースに入力された見つけることを除いて、しかし私が得るすべてはPKで、ヌルと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
は、なぜあなたは、パラメータを宣言している:これは、すべてが1回の呼び出しで行うことができます
:これはの最終的な結果を与える
'SupplierPostCode'は' VARCHAR(15) '型であり、そのデータの半分を' VARCHAR(8) '型の' postcode'変数に代入するだけです。 – eggyal