Saya telah menulis prosedur yang memanggil parameter dalam kueri pemilihan, tetapi tidak berfungsi. Saat saya mencetak parameter itu berfungsi dengan baik, tetapi dengan kueri pemilihan, itu tidak berfungsi.
Saya telah menggunakan meja kerja Aginity untuk pergeseran merah untuk menjalankan prosedur tersimpan.
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"
Dari output, kita dapat melihat parameter di dalam prosedur ketika saya mencetak, tetapi saya tidak dapat meneruskan parameter ke kueri pemilihan, karena menimbulkan kesalahan. Mohon bantu saya dengan ini.
select min(columnname) into evalmindate from tablename;
tidak benar, Anda tidak menggunakan variabel, secara harfiah Anda mencoba menanyakancolumnname
dalam tabel bernamatablename
- person demircioglu   schedule 13.08.2019