Я пытаюсь создать оператор SELECT и выполнить его, но у меня продолжает появляться эта ошибка. Мое утверждение выглядит примерно так:
DECLARE
SOMESTRING varchar2(20);
BEGIN
SOMESTRING := 'Test_Col';
EXECUTE IMMEDIATE 'SELECT * FROM TBL_TEST WHERE column = ' || SOMESTRING;
Я получаю «00904. 00000 -«% s: неверный идентификатор ». Я знаю, что это должно быть синтаксической ошибкой, но я не уверен, что должно быть записано как Я новичок в PL / SQL.
РЕДАКТИРОВАТЬ:
Я пробовал это:
EXECUTE IMMEDIATE 'SELECT col FROM TBL_TEST WHERE aColumn = '''Literal_String''' into TEST_VALUE;
Он выводит значение правильно, но когда я делаю:
EXECUTE IMMEDIATE 'SELECT col FROM TBL_TEST WHERE aColumn = :SOMESTRING' INTO TEST_VALUE USING SOMESTRING;
Нет данных. Да, я объявил все необходимые переменные.
РЕДАКТИРОВАТЬ 2:
В своем приложении я назначил SOMESTRING для:
SOMESTRING := CONCAT('A', SUBSTR(a_table_name, 2));
В этом случае, как сделать тройную кавычку в этом случае? Потому что она просто станет литеральной строкой.