我对具有 dep_id 和 emp_id 主键的表有一个插入语句。我的 java 程序为新记录生成一个新的 emp_id 并插入它。例如,如果我有 dep_id = 100 和 emp_id = 25,我无法插入 dep_id = 100 和 emp_id = 26 的记录,但我可以插入 dep_id = 100 和 emp_id = 27 的记录。我通过检查如果存在某种组合(dep_id = 100 和 emp_id = 26),则选择语句。没有那种东西。我仍然从 dep_id = 100 和 emp_id = 26 处删除并提交只是为了确定,然后尝试插入,但它仍然不起作用。可能有什么问题?以下是代码:修改后的 DDL 和 Insert 语句(从 Eclipse 控制台获得)
CREATE TABLE "TestDB"."table1"
( "dep_id" NUMBER(20,0),
"emp_id" NUMBER(20,0),
"STATUS" VARCHAR2(10 BYTE),
"PRO_LEVEL" VARCHAR2(14 BYTE),
"new_sql_stmt" VARCHAR2(4000 BYTE),
"DEL_TEM" VARCHAR2(500 BYTE),
"tab_name" VARCHAR2(4000 BYTE),
"COL_NAME" VARCHAR2(4000 BYTE),
"QUERY_TYPE" VARCHAR2(4000 BYTE),
"NAME" VARCHAR2(4000 BYTE),
"DT_MODIFIED" DATE DEFAULT SYSDATE
)
CREATE UNIQUE INDEX "TestDB"."table1_PK" ON "TestDB"."table1" ("dep_id", "emp_id")
INSERT into table1 (dep_id,emp_id,status,new_sql_stmt,tab_name,col_name,query_type,NAME)values('100','26','Unlock','INSERT into testTab(id_some,nm_some,id_some_origin,flag,some_code,author,order) values (''S11111111'',''trialSome00'','''',''y'','''',''100'',0)','testTab','nm_some','INSERT','trialSome00')
请注意,Insert 语句本身有另一个 Insert 语句作为值。这个插入语句(主要的)在应用程序的许多其他地方使用。另外,我使用 100 的 dep_id 是一个测试 dep_id。除了我,没有人使用它。