У меня есть следующий код, но это не возвращает результирующие строки. Когда я не использую Dynami c sql, я смог вернуть результат с помощью курсора, но он ничего не возвращает.
CREATE OR REPLACE PROCEDURE my_db.sp_test
(
my_clause in VARCHAR2
)
AS
query1 VARCHAR2(5000) DEFAULT 'SELECT my_table.* FROM my_table WHERE 1=1 ';
BEGIN
if like_clause is not null then
query1 := query1 || my_clause;
else
query1 := query1 || my_clause;
end if;
EXECUTE IMMEDIATE query1;
END;
/
, например: my_clause параметр 'AND my_table.ID IN (10693192,10687172,10630960)'
EDIT: следующий код возвращает результирующие строки. И я могу прочитать их из моего приложения. NET (а также из Жабы). Однако приведенный выше запрос ничего не возвращает. И мне понадобится t Dynamine c sql, поэтому я хотел бы вернуть тот же результат, используя вышеуказанный SP.
CREATE OR REPLACE PROCEDURE PHX_EPI.sp_test2
(
cursor_ OUT SYS_REFCURSOR
)
AS
BEGIN
OPEN cursor_ FOR
SELECT my_table.* FROM my_table;
END;
/