#sql #oracle #stored-procedures
#sql #Oracle #хранимые процедуры
Вопрос:
Я совершенно новичок в хранимых процедурах Oracle, и теперь я пытаюсь изменить sp, написанный кем-то другим. Это должно быть очень просто, но я просто не знаю как. Вот скелет sp.
create or replace
PROCEDURE mySP
(
p1 IN VARCHAR2
, p2 IN VARCHAR2
, p3 IN VARCHAR2
, CUR_S OUT SYS_REFCURSOR
)
AS
...
...
и он продолжает динамически строиться с множеством условий, вот где он строит запрос:
my_query :=
'SELECT '||
column1_name ||
column2_name ||
FROM
...
все запросы в порядке, все, что я хочу сделать, это добавить дополнительный столбец в select statement
where значение p1, the input parameter
Я пытался
my_query :=
'SELECT p1 as newColumnName '||
column1_name ||
column2_name ||
FROM
Но это не работает. итак, что мне делать? Спасибо.
Комментарии:
1. Что является исключением?
2. используйте
'SELECT ' || p1 || ' as newColumnName ' ||
.
Ответ №1:
Попробуйте это
my_query :=
'SELECT ''' ||
p1 || ''' as newcolumn_name, ' ||
column1_name ||
column2_name ||
FROM
Ответ №2:
Попробуйте что-то вроде этого:-
'SELECT' || P1 as newColumnName || column1_name || column2_name ||
FROM...
Надеюсь, это может вам помочь.