Я написал процедуру, которая вызывает параметр в запросе выбора, но она не работает. Когда я печатаю этот параметр, он работает нормально, но с запросом выбора он не работает.
Я использовал верстак Aginity для красного смещения для выполнения хранимой процедуры.
CREATE or replace PROCEDURE get_tbl_name(IN tablename varchar, IN columnname VARCHAR, IN mindate varchar) AS $$
Declare
evalmindate varchar;
BEGIN
Raise info 'tablename = %, columnname = %, mindate = %', tablename,columnname,mindate;
if mindate is null then
select min(columnname) into evalmindate from tablename;
else
evalmindate=mindate;
end if;
END;
$$ LANGUAGE plpgsql;
Calling Proc:
call get_tbl_name('test_bq', 'date',NULL);
Output:
tablename = test_bq, columnname = date, mindate = <NULL>
Error Message
42601: syntax error at or near "$2"
На выходе мы можем видеть параметр внутри процедуры, когда я печатаю, но я не могу передать параметр в запрос выбора, он выдает ошибку. Пожалуйста, помогите мне с этим.
select min(columnname) into evalmindate from tablename;
неправильно, вы не используете переменные, буквально вы пытаетесь запроситьcolumnname
в таблице с именемtablename
- person demircioglu   schedule 13.08.2019