私は手順に不慣れで、顧客のWebサイトに手順を実装しようとしています。
新しい顧客を追加する手順を作成したいと思います。phoneNumberがデータベースにまだ存在しないことを確認したいと思います。もしそうなら、エラーメッセージを表示したいです。電話番号がデータベースにない場合は、CUSTOMERテーブルに挿入します。
以下を実装しましたが、エラーが発生します。MySQLで変数を正しく宣言しているかどうかはわかりません。また、「ifステートメント」が私が行った方法で有効かどうかもわかりません。また、ifステートメントクエリを変数に設定するにはどうすればよいですか?誰かが助けることができれば、それは多くのことを意味するでしょう。ありがとう!
DELIMITER //
CREATE PROCEDURE add_Customer
(IN customerNum int,
IN last varchar,
IN first varchar)
BEGIN
DECLARE output var DEFAULT '';
IF SELECT CUSTOMER.customerNum FROM CUSTOMER WHERE CUSTOMER.customerNum= customerNum
THEN
SET output= "Customer already exists!";
select output;
ELSE
INSERT INTO CUSTOMER VALUES (customerNum, last, first);
END IF;
END//
DELIMITER;
編集済み
DELIMITER //
CREATE PROCEDURE add_Customer
(IN customerNum int,
IN last varchar,
IN first varchar)
BEGIN
DECLARE output var DEFAULT '';
DECLARE var_num INT;
SELECT CUSTOMER.customerNum INTO var_num FROM CUSTOMER WHERE CUSTOMER.customerNum= customerNum
if var_num IS NULL THEN
INSERT INTO CUSTOMER VALUES (customerNum, last, first);
ELSE
SET output= "Customer already exists!";
select output;
END IF;
END//
DELIMITER;