2016-04-10 16 views
0

テーブルファミリの1つの列と親テーブルの2つの列を更新したいとします。 私はSQLでそれを行う方法を知っています。私はいくつかの例を見てそれを試し、私は直接SQLでそれを更新しようとしたが、私はストアの手順を使用して更新することはできませんでした。ストアプロシージャを使用して2つのテーブルを更新する

CREATE PROCEDURE prc_EditProfile(
IN inputfamilyName VARCHAR(45), 
inputuserName VARCHAR(45), 
inputfamilyID INT(20), 
inputparentID INT(20) 
) 
BEGIN 
update family, parent SET family.familyName= inputfamilyName, parent.userName=inputuserName WHERE family.FamilyID=inputfamilyID AND parent.ParentID=inputfamilyID; 
END 
+0

をエラーが発生しますか? –

+0

@Adamエラーはありません。 1行を更新する必要があります。 – dpk

+0

あなたはそれをどのように呼びますか? –

答えて

1

Updateについて読んでください。

あなたは(テストコールに)これを行うことができます。

CREATE PROCEDURE prc_EditProfile(
IN inputfamilyName VARCHAR(45), 
inputuserName VARCHAR(45), 
inputfamilyID INT(20), 
inputparentID INT(20) 
) 
BEGIN 
    UPDATE family 
    SET familyName= inputfamilyName 
    WHERE family.FamilyID=inputfamilyID; 

    UPDATE parent 
    SET userName=inputuserName 
    WHERE parent.ParentID=inputfamilyID; 
END 
+0

素早い応答をありがとうございますが、データベースに更新されていません。 1行を更新する必要があります。しかし、それはしません。 MySQLは空の結果セットを返しました(つまり、ゼロ行)。 (クエリに0.1112秒かかった。) – dpk

関連する問題