У меня есть простой запрос, который я могу запустить в жабе.Как использовать переменные в выражении select в Oracle PL-SQL
select * from my_table
where my_id = 11111;
Почему я не могу запустить тот же запрос из жабы на этот раз, объявив переменную и используя ее в предложении where?
В SQL Server я:
declare @testID int
set @testID = 11111
select * from my_table
where my_id = @testID;
Как я могу сделать то же самое в Oracle 11g?
зависит от ..если вы делаете это для тестирования, и вы хотите захватить значение во время выполнения, вы можете просто «выбрать» из my_table , где my_id = & testID; 'ampersand обозначает переменную, требующую ввода пользователя при выполнении. Будьте осторожны с этим в Oracle, как если бы у вас было такое имя, как Mike & Jon's Paint и тело, оно может попросить вас определить переменную Jon! (это можно отключить: см. [здесь] (http://stackoverflow.com/questions/18735499/how-to-escape-ampersand-in-toad)) – xQbert
По аналогичному вопросу, уже заданный ранее. Проверьте [здесь] (http://stackoverflow.com/questions/7163996/how-to-select-into-a-variable-in-pl-sql-when-the-result-might-be-null) – Hema