私はtransact SQL
を学習しています。私がテーブルを作成している間、私は入力する2つの可能性を持っていたいと思っています:M - 男性、W - 女性。Transact SQLのフィールドパターン
この例では、addressと書いてあります。以前はposgresql
を使っていましたが、パターンを設定するのはとても簡単です。
これは私がしようとしているものです:Incorrect syntax near the keyword 'LIKE'.
は
私はtransact SQL
を学習しています。私がテーブルを作成している間、私は入力する2つの可能性を持っていたいと思っています:M - 男性、W - 女性。Transact SQLのフィールドパターン
この例では、addressと書いてあります。以前はposgresql
を使っていましたが、パターンを設定するのはとても簡単です。
これは私がしようとしているものです:Incorrect syntax near the keyword 'LIKE'.
は
は、あなたが提供されたリンクに基づいて、あなたが作成することができます。このようなConstraint
:
CREATE TABLE testTable (sex char(1));
ALTER TABLE testTable ADD CONSTRAINT chk_Sex CHECK (sex IN ('M','W'));
CREATE TABLE testTable (
sex char(1) LIKE '[M]' OR '[W]',
)
が、私はこのエラーメッセージを取得しています
または、1つのステートメントで行うことができます。
CREATE TABLE testTable (sex char(1), CONSTRAINT chk_sex CHECK (sex IN ('M','W')))
あるいは:
CREATE TABLE testTable (sex char(1) CHECK (sex IN ('M','W')))
CREATE TABLE testTable
(
sex CHAR(1) NOT NULL,
CONSTRAINT check_sex CHECK (sex IN ('M', 'W'))
)
または 'TABLE TESTTABLE(セックスチャー(1)CHECK(( 'M'、 'W'))でのSEX)' –
それは動作しますCREATE。どうもありがとう! – sqlMasterSOon
数値型はどうですか?今私は3つの番号だけを入力したいと思います。私はリンクからの例のいくつかの部分を使用しました。 私はこれを作成しました:'制約cbk_sex check( '[0-9] [0-9] [0-9]'))' 私はcharのサイズを(14)に変更しました。 。私はエラーなしで作成できますが、 'insert into testtable(sex)VALUES(213)'を実行したいときは 'INSERT文がCHECK制約" cbsk_sex "と競合しています。競合は、データベース "biblioteka"、テーブル "dbo.testtable"、列 "sex"で発生しました。 'エラーです。何か案は? – sqlMasterSOon