Использование оператора цитирования
select * from fact_table where name = q'#John's#'
Для амперсандов это проблема для таких инструментов, как SQL * Plus
set define ~
select * from fact_table where name = 'R&D'
Но в блоке pl / sql, кажется, работает нормально:
declare
output VARCHAR2(10);
BEGIN
SELECT name
INTO output
FROM fact_table
WHERE name = '&1';
DBMS_OUTPUT.put_line('Output: ' || output);
END;
/
SQL> @test.sql;
Enter value for 1: R&D
old 7: WHERE name = '&1';
new 7: WHERE name = 'R&D';
Output: R&D
PL/SQL procedure successfully completed.