Я пытаюсь передать массив в функцию в postgres и хочу вставить строки в таблицу application_upload_demand, выбрав значение из application_upload. Строки, вставленные в таблицу application_upload_demand, будут равны элементу массивов. Я понятия не имею о массиве в pgsql. Пожалуйста, предложите любую вещь-
CREATE OR REPLACE FUNCTION public.application_upload_demand_insert(
appl_nos character varying,
appl_num character varying)
RETURNS void AS
$BODY$
declare appl_nos character varying;array1 text[];arrayTxt text[];
BEGIN
FOREACH appl_nos SLICE i IN ARRAY arr
LOOP
array1[i] = appl_nos[i];
END LOOP;
INSERT INTO application_upload_demand(file_name, file_type, documentid, doctype, file_upload, appl_no, upload_date, inspector_remarks,lab_code,div_code, dist_code, loginid )
select file_name, file_type, documentid, doctype, file_upload, appl_no, upload_date, inspector_remarks,lab_code,div_code, dist_code, loginid from application_upload
where sno =ANY(arr) and appl_no = appl_num;
END
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
ALTER FUNCTION public.application_upload_demand_insert(character varying, character varying)
OWNER TO postgres;
Мой php код ->
try{
$con->beginTransaction();
if(isset($_POST['checkbox'])) {
$sno=$_POST['checkbox'];
$pginsstmt12="SELECT public.application_upload_demand_insert(?,?)";
$newinsdata = $con->prepare($pginsstmt12);
$newinsdata->bindparam(1,$sno,PDO::PARAM_STR);
$newinsdata->bindparam(2,$hidden_appl_no,PDO::PARAM_STR);
$newinsdata->execute();
}
$con->commit();
}catch(Exception $ex) {
$con->rollBack();
$error=$ex->getMessage();
}