2015-11-06 4 views
0

У меня есть, что в PL/SQL:PL/SQL с одинарными кавычками

PROGRAMAS CONSTANT VARCHAR2 (256) := '''PILOTDAN'''; 

и что запрос не работает:

select * form table where id_programa IN (PROGRAMAS); 

Почему?

спасибо.

+0

Какие данные вы ожидаете в этой колонке? 'PILOTDAN' или' 'PILOTDAN'' - должно ли значение столбца содержать кавычки? –

+0

Вам не нужно указывать константу VARCHAR2 в кавычки. Во всяком случае, оператор 'IN' не будет работать для большего количества значений, чем 1 (без использования _dynamic SQL_), поэтому вы можете просто изменить его на знак равенства' = '. – AndrewMcCoist

+0

Это не связано с одинарными кавычками. [Вы просто не можете использовать константу пакета PL/SQL в SQL-заявлении] (http://stackoverflow.com/questions/5178830/how-to-use-a-package-constant-in-sql-select-statement) –

ответ

0

Вам не нужно использовать дополнительный символ ' в вашей постоянной строке.

Попробуйте это:

PROGRAMAS CONSTANT VARCHAR2 (256) := 'PILOTDAN'; 

select * form table where id_programa IN (PROGRAMAS); 

Удачи!

+0

Спасибо, что это работает, но я не ставил два значения: PROGRAMAS CONSTANT VARCHAR2 (256): = 'PILOTDAN, LVANGU01'; выберите * таблицу форм, где id_programa IN (PROGRAMAS); – vem

Смежные вопросы