新しいレコードをテーブルに挿入するために、テーブルの総レコード数を得ることができる関数が存在するのでしょうか?テーブルに合計レコードを含むフィールドを持つ新しいレコードを挿入します。
私はこのテーブルを持っている:
CREATE TABLE "TEST"
( "NAME" VARCHAR2(20 BYTE),
"ID" NUMBER,
"FLAG" NUMBER
) ;
Insert into TEST (NAME,ID,FLAG) values ('Ahlahslfh',1,1);
Insert into TEST (NAME,ID, FLAG) values ('Buoiuop',2,1);
Insert into TEST (NAME,ID, FLAG) values ('UOIP',12,0);
私の意図がこれに相当します文を発行することです:私は、生成されたエラーの下に使用
INSERT INTO TEST( NAME, ID, FLAG)
VALUES('TST', 3,1);
声明:
INSERT INTO TEST ( NAME, ID, FLAG)
VALUES ('TST', SELECT COUNT(*)+1 FROM TEST WHERE FLAG=1,1);
以下は
最終的な結果である私が期待しています:
はそれを回避する方法はありますか?もちろん、それらをスクリプトに入れ、レコードを変数に数え、その変数をフィールドに挿入することができます。私はちょうどよりエレガントな解決策があるかどうか疑問に思って、これを1つのステートメントで行います
ありがとうございます!
このようにしないでください...計算された値をそのように保存するのは本当に悪い考えです。代わりに、表データとその余分な行を戻すビューを作成します。 – jarlh
合意。 DisplayOrderというフィールドをIDではないはずです。私がイラストレーションの目的でテーブルを模擬していたときに、私の心にIDが入ってきたことは確かです。 – user1205746