Oracle SQL Developerで列を自動的にインクリメントするように設定するにはどうすればよいですか?フォームが無効になっているのはなぜですか?SQLデベロッパーで自動インクリメント列を設定する方法
注:画像はデータモデラを示しているが、既存のデータベースを編集についての質問と答えトップ話。
Oracle SQL Developerで列を自動的にインクリメントするように設定するにはどうすればよいですか?フォームが無効になっているのはなぜですか?SQLデベロッパーで自動インクリメント列を設定する方法
注:画像はデータモデラを示しているが、既存のデータベースを編集についての質問と答えトップ話。
Oracleには自動インクリメント列がありません。シーケンスとトリガーが必要です。 http://www.lifeaftercoffee.com/2006/02/17/how-to-create-auto-increment-columns-in-oracle/
残念ながら、oracleはmysqlのようにauto_incrementをサポートしていません。あなたはそれを得るために少し余分な努力をする必要があります。
が、これはあなたのテーブルであると言う -
CREATE TABLE MYTABLE (
ID NUMBER NOT NULL,
NAME VARCHAR2(100)
CONSTRAINT "PK1" PRIMARY KEY (ID)
);
あなたはシーケンスを作成する必要があります -
CREATE SEQUENCE S_MYTABLE
START WITH 1
INCREMENT BY 1
CACHE 10;
とトリガ - のOracle SQLでそれを行う方法
CREATE OR REPLACE TRIGGER T_MYTABLE_ID
BEFORE INSERT
ON MYTABLE
REFERENCING NEW AS NEW
FOR EACH ROW
BEGIN
if(:new.ID is null) then
SELECT S_MYTABLE.nextval
INTO :new.ID
FROM dual;
end if;
END;
/
ALTER TRIGGER "T_MYTABLE_ID" ENABLE;
私はそのことが自動的に作成できるようにしたいと思います....hehehe .... –
2012年以降、物事が変化しました。 Oracle Database 12cの導入により、これを実現できます。ここでそれを行う方法は次のとおりです:http://www.thatjeffsmith.com/archive/2014/01/defining-12c-identity-columns-in-oracle-sql-developer-data-modeler/ – thatjeffsmith
私はダンの答えがより好きです。絵のあるもの1000ワードに相当する。 – Wes
開発者: 左ペインで、接続の下に "Sequences"と右クリックしてcを選択します。コンテキスト依存のポップアップから新しいシーケンスを再生成する。詳細を記入してください:スキーマ名、sequence_name、プロパティ(値から始まり、最小値、最大値、増分値など)を入力し、[OK]をクリックします。このauto_incrementを使用するキーを持つテーブルがあると仮定すると、このテーブルに挿入する際には、このプロパティを使用するフィールドに "your_sequence_name.nextval"を付けてください。 これは助けてくれると思います! :)
SQLモデラーで自動インクリメントを行うことができます。列のプロパティウィンドウで[一般]をクリックし、[自動インクリメント]ボックスを選択します。その後、自動増分ウィンドウが有効になります。
あなたの投稿をありがとう!あなたの投稿にシグネチャ/タグラインを使用しないでください。あなたのボックスはあなたの署名として数えられ、あなたのプロフィールを使って好きな自分に関する情報を投稿することができます。 [署名/タグラインについてのよくある質問] –
私は少し古いように見えるこのポストを見つけましたが、私は私の新しい発見に誰もが更新すると思った。
WindowsでOracle SQL Developer 4.0.2.15を使用しています。 私たちのデータベースは、Windowsで動作するOracle 10g(バージョン10.2.0.1)です。オラクルの列自動インクリメントを作るために
-
あなたのidカラム(主キー)意志今オートインクリメントが、シーケンスをクリックしてください1から開始されます。 IDを特定のポイントまでインクリメントする必要がある場合は、シーケンスに対していくつかの変更ステートメントを実行する必要があります。
This postにはもう少し詳細とこれを克服する方法があります。
私は解決策にhere
を見つけ、あなたのPKの自動インクリメントを作りたい場合は、その主キーのID列プロパティを設定する必要があります。
理解を深めるために下の図を参照してください。
//私のソースがある:あなたが正しかったトム・studee @http://techatplay.wordpress.com/2013/11/22/oracle-sql-developer-create-auto-incrementing-primary-key/
、それはデータ・モデラーでそれを行うことが可能です。
テーブルをダブルクリックして、列セクションに移動します。ここで、自動増分を持つ列をダブルクリックします。一般的なセクションでは、 "autoincrement"というチェックボックスがあります。ちょうどそれをチェックしてください。
その後、「自動インクリメント」セクションに移動してカスタマイズすることもできます。
これを保存し、SQLスクリプトを生成するようデータモデラーに依頼すると、オートインクリメントを表すシーケンスとトリガーが表示されます。
この記事は非常によく似ています。http://stackoverflow.com/questions/10613846/create-table-with-sequence-nextval-in-oracle –