2017-03-29 26 views
0

を作成した後、oracle apexでアプリケーションを作成しようとしています。私は私のPC(Ubuntu)にインストールしました。シーケンスがOracle Application Apexでヒットしない

私は頂点にsqlコマンドでテーブルとシーケンスを作成しました。

create sequence test_seq start with 1 increment by 1;

like-

create table test ( test_id number primary key, test_name varchar2(20) not null );

とシーケンスのよう は今、オーケーが正常runnig SQL-COMANDを通じて

insert into test values(test_seq.nextval, 'Test');

を私のテーブル内の単一の値を追加します。[ 1行追加]

しかし、私はこのテーブルを使用してアプリ作成するとき - Please check it for details

オーケー - 成功したページの作成が、私はそれでデータを追加しようとすると、それは言う -

ORA-01400: cannot insert NULL into ("WORKSPACE"."TEST"."TEST_ID")

Click here to See the attachment

なぜこの問題が発生するのですか?

+0

は順序と主キー列のように見えます私の答えをチェックしてください。 – kapiell

答えて

1

私はあなたのテーブルのプライマリ列にシーケンスを関連付けていないと思います。テーブルを変更して、appを使用してデータを追加しようとします。

ALTER TABLE TEST 
MODIFY (TEST_ID DEFAULT TEST_SEQ.NEXTVAL); 

理想的には、あなたが最初のシーケンスを作成した後、次のようにテーブルを作成している間、あなたは列のデフォルトを定義することができ、

CREATE TABLE TEST (
    TEST_ID NUMBER DEFAULT TEST_SEQ.NEXTVAL NOT NULL PRIMARY KEY, 
    TEST_NAME VARCHAR2(20) NOT NULL 
); 
+0

このコードはApex Sqlコマンドで動作しません@kapiell – Bechitra

+0

申し訳ありません、タイプのため、私は今すぐコードを更新しました。もう一度やり直してお知らせください。 – kapiell

+0

同じ問題、これがある - ORA-00984:ここでは列が許可されていない [スクリーンショット](http://imgur.com/a/0ak0Q) – Bechitra

1

試してみてください。

Insert into test 
(Test_id,test_name) 
Select test_seq.nextval, 'something' 
    From dual; 
Commit; 
関連する問題