2012-03-12 12 views
0

テーブルに3列あるので、新しい行を挿入する前に電子メールフィールドをチェックする必要があります。その行を挿入します。例えば最初のチェックのためので、私は、それを達成するために2つのクエリを通過する必要がありますか:ASP.NETでSQL Serverにデータを挿入する前にテーブル内の重複を確認してください

Select count(*) FROM PRODUCT WHERE email = @email 

、その後RUN AN INSERT

Insert INTO PRODUCT (....) VALUES (....) 

またはそれを達成するために任意のより良い方法がある、

提案やアドバイスをいただければ幸いです。

おかげ

答えて

3

が存在しない場合は、条件をチェックINSERT文を持っている、とだけ何かを挿入することができます

IF NOT EXISTS (SELECT * FROM dbo.Product WHERE email = @email) 
    INSERT INTO dbo.Product(list of columns) 
    VALUES(list of values) 
1

marc_sあなたは条件付きを使用することが述べたようににを挿入します。一方、というユニークな制約を電子メールカラムに使用すると、非常に役に立ちます。

アプリケーションなしでデータを挿入する可能性を考えてください。同じメールを避けるルールはありません!

CREATE TABLE Product 
(
    xxx int NOT NULL, 
    xxx xxx xxx, 
    UNIQUE (email) 
) 

だけunique constraintsalter/createテーブル(複数可)のためのgoogle!

関連する問題