понедельник, 18 августа 2014 г.

Удалить строку из таблицы без первичного ключа

У каждой таблицы помимо задаваемого первичного ключа есть еще "внутренний" уникальный ключ ROWID. Он не только уникален в рамках таблицы, он уникален в рамках базы данных. 
ROWID отображается как последовательность из 18 символов, указывающая точное местонахождение данных в БД, каждый символ находится в формате base-64. Идентификатор ROWID состоит из нескольких компонентов: номера объекта (32 бита), относительного номера файла (10 бит), номера блока (22 бита) и номера строки (16 бит).


Посмотреть ROWID записи можно нехитрым запросом
select
rowid rid,

XX_TEST
from XX_CLOB_TEST

Ну и затем по идентификатору ROWID ее, соответственно, можно и удалить
delete
from XX_CLOB_TEST
where rowid= 'AAKI5FAJFAAAZMVAAA'


Комментариев нет:

Отправить комментарий