Двойни кавички се използват за обозначаване на цитиран идентификатор , т.е. име на обект, което не се състои само от буквено-цифрови знаци, $
и #
. Като настрана, препоръчваме ви да не използвайте идентификатори в кавички. Това е причината за първоначалната ви грешка ORA-00984. Oracle приема, че "tes"
е колона, а не низ и не можете да използвате име на колона в клаузата VALUES на оператор INSERT, както е обяснено в съобщението за грешка
.
За да вмъкнете низа "tes"
в таблица, трябва да се уверите, че тя е цитирана правилно
:
Всеки знак може да бъде част от низ, така че за да вмъкнете двойна кавичка в таблица, трябва да я оградите в единични кавички.
insert into users (id, name, username)
values (null, '"tes"', '"hello"');
Ето SQL Fiddle за демонстриране.
Едно допълнително нещо, което трябва да се отбележи. Заявявате, че тази заявка се генерира автоматично, което означава, че можете да бъде уязвим на SQL инжектиране. Бих силно препоръчал да прочетете за променливите за свързване в Guarding Against SQL инжекция .