Oracle 10g - Escape-кавычка в операторе вставки - PullRequest
2 голосов
/ 16 марта 2011

Я пытаюсь вставить рост людей в базу данных в виде 5'9

. Как правильно избежать кавычки, чтобы я мог это сделать.Мой оператор вставки выглядит следующим образом.

INSERT INTO height(id, height) 
VALUES(height-seq.nexval, '5\'9');

Обратная косая черта явно не работает, и я довольно новичок в оракуле.Спасибо

Ответы [ 3 ]

5 голосов
/ 16 марта 2011

Oracle использует стандартный SQL:

INSERT INTO height(id, height) 
VALUES(height-seq.nexval, '5''9');

(да, есть две одинарные кавычки)

2 голосов
/ 17 марта 2011

Я ненавижу двойные кавычки, это беспорядок. К счастью, в эти дни у нас есть оператор цитаты:

q'{delimiter}string{delimiter}'

INSERT INTO height(id, height) 
VALUES(height-seq.nexval, q'#5'9#');
2 голосов
/ 16 марта 2011

если вы делаете это из внешнего интерфейса, используя некоторый язык программирования, рассмотрите возможность использования параметризованного запроса, если вы используете psql или какой-либо другой инструмент для этого, просто используйте '5''9', и он будет работать нормально

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...