SELECT COUNT(Student_ID) AS 'StudentCount'
FROM CourseSemOne
WHERE Student_ID =1;
このID(Student_ID=1)
には2つの値しか追加しません。管理者がこのIDに2つ以上の値を追加すると、「申し訳ありませんが、2つ以上の値を追加することはできません」というメッセージが表示されます。(SQL)のカウント関数とIF条件
SELECT COUNT(Student_ID) AS 'StudentCount'
FROM CourseSemOne
WHERE Student_ID =1;
このID(Student_ID=1)
には2つの値しか追加しません。管理者がこのIDに2つ以上の値を追加すると、「申し訳ありませんが、2つ以上の値を追加することはできません」というメッセージが表示されます。(SQL)のカウント関数とIF条件
create table student (id int)
go
insert into student (id)
select 1
union
select 2
declare @value int = 3
IF EXISTS
(
select 1
from student
where id = @value
Group by id
having COUNT(id) > 1
)
BEGIN
RAISERROR('you cannot add more than two values',16,1);
RETURN;
END
ELSE
BEGIN
INSERT INTO student (ID)
SELECT @value
END
ありがとうございました。私は@bmsqldevを試しています –
いいえサークルしません@bmsqldev –
希望の出力値が2回以上挿入されたときにエラーをスローしている場合、上記のコードは正しいです。私はms-sql 2012でそれをチェックしました。 – bmsqldev
以下のようにしてみStudent_ID column
で重複したエントリを防ぐための最善の方法は、その列にUNIQUE CONSTRAINT
またはUNIQUE INDEX
を置くことです。
誰かがduplicate
Student_ID
を作成しようとするたびに、アプリケーションが必要なテキストを表示していするための最良の方法は、アプリケーションでconstraint violation
エラーをキャッチし、代わりにカスタムエラーメッセージを表示することです。
ようこそStackOverflow!もう少し私たちに伝える必要があると思います。そのクエリの問題は何ですか?これは 'CourseSemOne'内の' Student_ID'が '1'のレコードの数を示します。だから大丈夫?複数の場合は、メッセージを表示してください。または、「管理者」が別の管理者を追加したい場合は、メッセージを表示してください。 –
データベースはクエリに使用されます。ユーザーや他のUIタスクにメッセージを表示するために使用することはできません。 –
はい私は知っているsir ...私はC#とバックエンド私はSQLを使用しています....今私は問題が...私はID = 1 ....の2行だけを挿入したいIDを制限する方法SQLで? @RenéVogt –