products
データベースに列/フィールドを持つテーブルがあります。
- 製品番号
- 商品名
- 説明
- サプライヤー
- 購入日
- 量
今、私が達成したいのはこれです:
- テーブルに新しい値を追加するたびに
products
、新しい入力の「productname」と「supplier」の値は、products
テーブルに存在するすべての値を比較します。
シナリオ:
- 新しい製品名とサプライヤーの値が
products
テーブルに既に存在する場合、新しい値の数量が既存の値の数量に追加されます - ELSE が存在しない場合は、新しい値を
products
テーブルに追加します。
試したコードは次のとおりですが、機能していません。
Delimiter //
CREATE PROCEDURE `wew`(pid int,pname varchar(50),pdesc varchar(50),psupp varchar(50),pdate date,pquant int)
begin
declare lloyd char default null;
select productname from products where productname=pname LIMIT 1 into lloyd for update;
if(lloyd) then
update products set quantityleft=quantityleft+pquant where productname=pname;
else
insert into products (productid,productname,proddescription,supplier,lastpurchasedate,quantityleft) values(pid,pname,pdesc,psupp,pdate,pquant);
end if;
end;
//
これを手伝ってもらえますか?これには本当に困惑。
説明の製品:
SQL result
Host: localhost
Database: prodpurchase
Generation Time: Mar 24, 2013 at 03:52 PM
Generated by: phpMyAdmin 3.2.4 / MySQL 5.1.41
SQL query: Desc Products;
Rows: 7
Field Type Null Key Default Extra
ProdID int(5) NO PRI NULL auto_increment
ProdName varchar(50) NO UNI NULL
ProdSupplier varchar(250) NO UNI NULL
ProdDescription varchar(250) NO NULL
ProdDate date NO NULL
ProdPrice double NO 0
ProdQuantity int(50) NO NULL