2012-01-20 12 views
0

これはこのウェブサイトへの最初の投稿です。
ここに私の質問です:私は挿入と更新のために同じストアドプロシージャを使用したいと思います。SQL Insert Update手順の問題

挿入に問題はありません。しかし、更新時に私のプライマリキーに基づいて、それを更新するには、一意の列の値ではありません。

ここに私の現在の手順があります。

IF EXISTS(SELECT MemberID FROM MEMBER WHERE [email protected]) 
WHERE [email protected]  

私はWHERE [email protected] // MEMBERIDが主キー

で使用したい助けてください。

答えて

0

私はあなたがあなたの質問をはっきりと理解しているかどうかはわかりませんが、もしあなたが信じていることがわかっていれば、IF句をやろうとしています。

このようなことは、トリックを行い、ロジックを入力するだけですべてうまくいくはずです。

IF EXISTS (SELECT MemberID FROM MEMBER WHERE [email protected]) 
    UPDATE [ADD UPDATE LOGIC HERE] WHERE [email protected] 
ELSE 
    INSERT [ADD INSERT LOGIC HERE] 

これが役に立ちます。

+0

こんにちは、あなたの解決策は非常に役に立ちます。 WHERE MemberID = @ MemberIDここでは、ユーザーからMemberIDを受け付けません。 SELECTクエリに基づいて検索したいSELECT MEMBERSHIPNO = @ MEMBERSHIPNO = @ MEMBERSHIPNO SELECTメンバーID – NightKnight

+0

次に、更新呼び出しの前に@MemberIDを設定するためにSELECT INTOステートメントを実行する必要があります。 EXISTS文で囲まれている可能性があるのか​​どうかわからないが、私はしばらくの間はSQLをやっていないが、かなり錆びている) おそらくこれはうまくいくだろう: 'IF EXISTS(SELECT TOP 1 MemberID MEMBERID IN @ MEMBERSHIPNO = @ MEMBERSHIPNO)のメンバーから ' これは役に立ちます。 –