トリガーカスケード制限 #3 Tweet
前回まではLinux(32bit)環境(CentOS5)だったが気になったのでWindows XP Professional (32bit)でも試してみた。
結果を先に書くがLinux(32bit)と同じくトリガーカスケードの最大値は49となっている。ついでに調べたところOracle10g for MacOS X Serverでも同じであった。
Oracleのトリガーカスケードの最大値が32という制限値が正しい?!としても私が普段利用するプラットフォームでは49で正解のようだ。
以下、Windows XP Professional(32bit)上のログ
SCOTT>
SCOTT>
SCOTT> create table master(seq# number);
表が作成されました。
SCOTT> create sequence master_seq
2 start with 1
3 increment by 1
4 nocache
5 noorder;
順序が作成されました。
SCOTT>
SCOTT> create or replace trigger ins_cascade_test
2 after insert on master
3 begin
4 insert into master values(master_seq.nextval);
5 end;
6 /
トリガーが作成されました。
SCOTT>
SCOTT> select last_number
2 from user_sequences
3 where sequence_name = 'MASTER_SEQ';
LAST_NUMBER
-----------
1
SCOTT>
SCOTT> insert into master values(-100);
insert into master values(-100)
*
行1でエラーが発生しました。:
ORA-00036: 再帰的SQLレベルの最大値(50)を超えました ORA-06512:
"SCOTT.INS_CASCADE_TEST", 行2
ORA-04088: トリガー'SCOTT.INS_CASCADE_TEST'の実行中にエラーが発生しました ORA-06512:
"SCOTT.INS_CASCADE_TEST", 行2
ORA-04088: トリガー'SCOTT.INS_CASCADE_TEST'の実行中にエラーが発生しました ORA-06512:
"SCOTT.INS_CASCADE_TEST", 行2
ORA-04088: トリガー'SCOTT.INS_CASCADE_TEST'の実行中にエラーが発生しました ORA-06512:
"SCOTT.INS_CASCADE_TEST", 行2
ORA-04088: トリガー'SCOTT.INS_CASCADE_TEST'の実行中にエラーが発生しました ORA-06512:
"SCOTT.INS_CASCADE_TEST", 行2
ORA-04088: トリガー'SCOTT.INS_CASCADE_TEST'の実行中にエラーが発生しました ORA-06512:
"SCOTT.INS_CASCADE_TEST", 行2
ORA-04088: トリガー'SCOTT.INS_CASCADE_TEST'の実行中にエラーが発生しました ORA-06512:
"SCOTT.INS_CASCADE_TEST", 行2
ORA-04088: トリガー'SCOTT.INS_CASCADE_TEST'の実行中にエラーが発生しました ORA-06512:
SCOTT>
SCOTT> select last_number
2 from user_sequences
3 where sequence_name = 'MASTER_SEQ';
LAST_NUMBER
-----------
51
SCOTT>
ところで半年振りに起動した自宅のWindowsマシンのコードレスキーボードが壊れたらしく、仕方ないのでRDCをダウンロードしてMacOSXから利用することに。。。。
| 固定リンク | 0
コメント