我有這個表中,我希望有最大300行數據:插入在Oracle表中,如果行大小小於300
CREATE TABLE "ADMIN"."SESSIONS"
( "SESSIONID" VARCHAR2(30 BYTE),
"SESSIONTYPE" NUMBER(*,0),
"USERID" VARCHAR2(30 BYTE),
"ACTIVITYSTART" TIMESTAMP (6),
"ACTIVITYEND" TIMESTAMP (6),
"ACTIVITY" CLOB,
"USERNAME" VARCHAR2(30 BYTE),
"IPADDRESS" VARCHAR2(30 BYTE),
"LOGINTIME" TIMESTAMP (6),
"LOGOUTTIME" TIMESTAMP (6)
) SEGMENT CREATION IMMEDIATE
你能告訴我怎樣才能插入到表僅在最大數量沒有達到?我想用準備好的陳述來做到這一點。
這並不難,如果將只有一個線程執行的插入和如果有多個線程會更困難。你的情況如何? – Multisync 2014-11-08 14:13:42
這個限制有多重要?你可以允許插入超過300行,然後使用作業來刪除不必要的行,你可以使用視圖,條件爲'rownum <= 300'來隱藏它們... – Dmitry 2014-11-08 21:42:15
這個怎麼樣:INSERT INTO SESSIONS(SESSIONID,SESSIONTYPE,USERID ,ACTIVITYSTART,ACTIVITYEND,ACTIVITY,USERNAME,IPADDRESS,LOGINTIME,LOGOUTTIME)選擇?,null,?,sysdate,sysdate,?,'admina',?,sysdate,sysdate FROM SESSIONS COUNT(*)<? – 2014-11-08 21:45:10