0

このクエリは 1 行を返します。

SELECT col1, col2 FROM table1 WHERE col1 = :column1;

しかし、これは0行を更新します:

UPDATE table1 SET col2 = :column2  WHERE col1 = :column1;
COMMIT;

この制約を追加して col1 を主キーとして設定しましたが、修正されませんでした。

ALTER TABLE table1 ADD CONSTRAINT col1_pk PRIMARY KEY (col1);

私はSQL Developerからこれを試していますが、行が更新されない理由はありますか?

編集

col1はVARCHAR2(32 BYTE) NOT NULL

col2はCLOB NOT NULL

編集 2 : テスト ケース、select 文と update 文で :var1 を 0011223344556677 に設定します。

CREATE TABLE MY_TABLE 
   (    COL1 VARCHAR2(32 BYTE) NOT NULL ENABLE, 
    COL2 CLOB, 
     CONSTRAINT "MY_TABLE_PK" PRIMARY KEY ("COL1")
   )

INSERT INTO MY_TABLE (COL1, COL2) VALUES ('0011223344556677', '1434407992143440799214344079921434407992');

SELECT * FROM MY_TABLE WHERE COL1 = :var1;

UPDATE MY_TABLE SET COL2 = 'test' WHERE COL1 = :var1;
   COMMIT;
4

1 に答える 1