タグ付けされた質問 「constraints」

制約は、特定のコンテキストで満たさなければならない条件です。制約は通常、データベースやプログラミング言語で使用され、エラーを検出し、データの一貫性と正確性を確保し、ビジネス要件を適用します。

11
インターフェイスをC#ジェネリック型制約として使用するにはどうすればよいですか?
次の関数宣言を取得する方法はありますか? public bool Foo<T>() where T : interface; すなわち。ここで、Tはインターフェイスタイプです(where T : class、およびと同様struct)。 現在、私は解決しました: public bool Foo<T>() where T : IBase; IBaseが、すべてのカスタムインターフェイスによって継承される空のインターフェイスとして定義されている場合...理想的ではありませんが、機能するはずです...ジェネリック型をインターフェイスにする必要があると定義できないのはなぜですか? 価値Fooがあるのは、インターフェース型が必要な場所でリフレクションを行うためです。通常のパラメーターとして渡して、関数自体で必要なチェックを行うことができますが、これははるかに型保証されているように見えました(そして私はすべてのチェックがコンパイル時に行われるため、もう少しパフォーマンスが高いと仮定します)。

3
「カスケードの削除」制約を追加するにはどうすればよいですか?
PostgreSQL 8ではON DELETE CASCADES、後者を削除せずに、次の表の両方の外部キーに追加できますか? # \d scores Table "public.scores" Column | Type | Modifiers ---------+-----------------------+----------- id | character varying(32) | gid | integer | money | integer | not null quit | boolean | last_ip | inet | Foreign-key constraints: "scores_gid_fkey" FOREIGN KEY (gid) REFERENCES games(gid) "scores_id_fkey" FOREIGN KEY (id) …

4
SQL Serverの列追加ステートメントで名前付きの既定の制約を作成できますか?
SQL Serverでは、テーブルに新しい列があります。 ALTER TABLE t_tableName ADD newColumn NOT NULL デフォルトの制約を指定せずにNOT NULLを指定しているため、これは失敗します。テーブルにはデフォルトの制約があってはなりません。 これを回避するために、デフォルトの制約でテーブルを作成してから削除することができます。 ただし、デフォルトの制約をこのステートメントの一部として指定するように指定する方法はないようです。そのため、それを取り除く唯一の方法は、sys.default_constraintsでそれを検索するストアドプロシージャを用意することです。テーブル。 これは、頻繁に発生する可能性が高い操作の場合、少し面倒/冗長です。誰にもこれのためのより良い解決策がありますか?


14
SQL DROP TABLE外部キー制約
このようにデータベース内のすべてのテーブルを削除したい場合、外部キー制約が処理されますか?そうでない場合は、最初にどのように対処しますか? GO IF OBJECT_ID('dbo.[Course]','U') IS NOT NULL DROP TABLE dbo.[Course] GO IF OBJECT_ID('dbo.[Student]','U') IS NOT NULL DROP TABLE dbo.[Student]

4
SQLiteの「存在しない場合は挿入」ステートメント
SQLiteデータベースがあります。テーブルに値(users_id、lessoninfo_id)を挿入しようとしていますがbookmarks、両方とも前に行に存在しない場合のみです。 INSERT INTO bookmarks(users_id,lessoninfo_id) VALUES( (SELECT _id FROM Users WHERE User='"+$('#user_lesson').html()+"'), (SELECT _id FROM lessoninfo WHERE Lesson="+lesson_no+" AND cast(starttime AS int)="+Math.floor(result_set.rows.item(markerCount-1).starttime)+") WHERE NOT EXISTS ( SELECT users_id,lessoninfo_id from bookmarks WHERE users_id=(SELECT _id FROM Users WHERE User='"+$('#user_lesson').html()+"') AND lessoninfo_id=( SELECT _id FROM lessoninfo WHERE Lesson="+lesson_no+"))) これは言うエラーを与えます: where構文の近くのdbエラー。

4
Ruby on Rails:マイグレーションを使用して、null以外の制約を既存の列に追加するにはどうすればよいですか?
Rails(3.2)アプリでは、データベースに多数のテーブルがありますが、null以外の制約をいくつか追加するのを忘れていました。私はググってみましたが、既存の列にnullでない値を追加する移行を作成する方法を見つけることができません。 TIA。

3
MySQLで空の値を許可する一意の制約
製品コードを格納するフィールドがあります。コードは一意ですが、一部の製品にはコードがありません。これらはプロバイダーコードであるため、コードを作成できません。 MySQLでこの種の制約は可能ですか? 私はストアドプロシージャとトリガーの初心者なので、ソリューションにこれらのいずれかが含まれる場合は、しばらくお待ちください。 更新:列はNULLではありません。それが私がこれを行うことができなかった理由です。

4
ジェネリック基本クラスから継承し、制約を適用して、C#でインターフェイスを実装する
これは構文の質問です。ジェネリック基本クラスから継承し、型パラメーターの1つに制約を適用しているジェネリッククラスがあります。派生クラスにインターフェイスを実装することも必要です。私の人生では、正しい構文を理解できていないようです。 これは私が持っているものです: DerivedFoo<T1,T2> : ParentFoo<T1, T2> where T2 : IBar { ... } 最初に頭に浮かんだのはこれです。 DerivedFoo<T1,T2> : ParentFoo<T1, T2> where T2 : IBar, IFoo { ... } しかし、これはT2がIFooを実装するためにDerivedFooではなくIBarとIFooの両方を実装する必要があるため、正しくありません。 私はグーグル、コロン、セミコロンの使用などを少し試しましたが、短くなりました。答えはきっと簡単です。

2
Postgresql:条件付きで一意の制約
テーブルの一部でのみ列に一意性を適用する制約を追加したいと思います。 ALTER TABLE stop ADD CONSTRAINT myc UNIQUE (col_a) WHERE (col_b is null); 上記のWHERE部分は希望的な考えです。 これを行う方法はありますか?それともリレーショナル図面に戻るべきですか?

6
Oracle SQLのテーブルのすべての制約の名前を表示する
Oracle SQLで作成した複数のテーブルの各制約に名前を定義しました。 問題は、特定のテーブルの列の制約を削除するために、私が忘れていた各制約に指定した名前を知る必要があることです。 テーブルの各列に指定した制約の名前をすべてリストするにはどうすればよいですか? そのためのSQLステートメントはありますか?

4
NULL列に一意のインデックスを作成するにはどうすればよいですか?
SQL Server 2005を使用しています。NULLを許可しながら、列の値を一意になるように制限したいと考えています。 私の現在のソリューションには、次のようなビューの一意のインデックスが含まれます。 CREATE VIEW vw_unq WITH SCHEMABINDING AS SELECT Column1 FROM MyTable WHERE Column1 IS NOT NULL CREATE UNIQUE CLUSTERED INDEX unq_idx ON vw_unq (Column1) より良いアイデアはありますか?

1
テーブル作成時のデフォルトの制約の宣言
GUIを使用する代わりにコードを記述して、Microsoft SQL Server 2000で新しいテーブルを作成しています。「手動で」行う方法を学習しようとしています。 これは私が実際に使用しているコードであり、正常に動作します。 CREATE TABLE "attachments" ( "attachment_id" INT NOT NULL, "load_date" SMALLDATETIME NOT NULL, "user" VARCHAR(25) NOT NULL, "file_name" VARCHAR(50) NOT NULL, CONSTRAINT "pk_attachments" PRIMARY KEY ("attachment_id"), CONSTRAINT "fk_users" FOREIGN KEY ("user") REFERENCES "users" ("user"), CONSTRAINT "ch_load_date" CHECK ("load_date" < GETDATE()) ) 主キー、外部キー、およびチェック制約を独自に指定したのは、この方法でそれらの名前を定義できるからです。そうしないと、それらをインラインで宣言すると、SQL Serverがランダムな名前を生成してしまい、「好き」ではありません。 デフォルト値の制約を宣言しようとしたときに問題が発生しました。インターネット上の情報とMicrosoft SLQ Server …

3
PostgreSQLでの制約名の更新
Postgresで制約名を変更することは可能ですか?PKを追加しました: ALTER TABLE contractor_contractor ADD CONSTRAINT commerce_contractor_pkey PRIMARY KEY(id); また、システムの他の部分と一貫性を保つために、別の名前を付けたいと思います。既存のPK制約を削除して、新しい制約を作成しますか?それとも、それを管理するための「ソフト」な方法はありますか? ありがとう!

9
データベースの制約とは何ですか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 5年前に閉鎖。 この質問を改善する データベース制約の明確な定義は何ですか?データベースにとって制約が重要なのはなぜですか?制約のタイプは何ですか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.