Указатель NULL
- это тот, который указывает на никуда. Когда вы разыскиваете указатель p
, вы говорите «дайте мне данные в месте, хранящемся в« p ». Когда p
является нулевым указателем, местоположение, хранящееся в p
, является nowhere
, вы говорите «Дайте мне данные в месте« нигде ». Очевидно, он не может этого сделать, поэтому он выбрасывает NULL pointer exception
.
В общем, это потому, что что-то не было правильно инициализировано.
CREATE table test (testguid RAW(16) default SYS_GUID() )
Этот блог изучил относительную производительность.
Если я понимаю вопрос правильно, Вы хотите генерировать уникальный идентификатор при вставке строки в дб.
Вы могли использовать последовательность , чтобы сделать это. ссылка здесь
, Как только Вы создали свою последовательность, можно использовать его как это:
INSERT INTO mytable (col1, col2) VALUES (myseq.NEXTVAL, 'some other data');
GUID столь не используются в Oracle как в MSSQL, мы склонны иметь Числовое поле (не пустой & первичный ключ), последовательность и триггер на вставке для заполнения его (для каждой таблицы).
В Oracle нет никакого uniqueidentifier.
можно реализовать тот сами при помощи СЫРЫХ ДАННЫХ (своего рода боль) или CHAR. Производительность на запросах, которые ПРИСОЕДИНЯЮТСЯ на поле CHAR, пострадает (возможно, целых 40%) по сравнению с использованием целого числа.
, Если Вы делаете, распределял/копировал базы данных, хит производительности стоит того. Иначе просто используйте целое число.
Использование общей практики Oracle должно создать искусственный ключ. Это - столбец, определенный как число. Это заполняется через последовательность. Это индексируется/ограничивается с помощью определения первичного ключа.
Как утверждали другие, использование GUID снижает производительность по сравнению с числовыми последовательностями. Тем не менее, существует функция с именем « SYS_GUID () », доступная с Oracle 8i, которая предоставляет необработанный эквивалент:
SQL> SELECT SYS_GUID() FROM DUAL;
SYS_GUID()
--------------------------------
248AACE7F7DE424E8B9E1F31A9F101D5
Может быть создана функция для возврата отформатированного GUID: