Ir para conteúdo
Fórum Script Brasil

bruno.sdo

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Tudo que bruno.sdo postou

  1. Olá Pessoal, Esse é meu primeiro post. Não tenho muito experiencia com PostgreSQL. Estou fazendo a seguinte consulta para em seguida fazer alguns DELETES, porem esta dando erro. DO $$DECLARE reserva_veiculo INTEGER[]; movimento_veiculo INTEGER[]; i INTEGER; BEGIN i:=0; reserva_veiculo := ARRAY (select r.id_reserva_veiculo from transporte.movimento_veiculo m inner join transporte.reserva_veiculo r on (r.id_movimento_veiculo = m.id_movimento_veiculo) left join requisicoes.requisicao_reserva_veiculo req on (req.id_reserva_veiculo = r.id_reserva_veiculo) inner join transporte.veiculo v on (v.id_veiculo = r.id_veiculo) where --req.numero=21937 v.placa = 'JKO-4601')::integer[]; movimento_veiculo := ARRAY (select m.id_movimento_veiculo from transporte.movimento_veiculo m inner join transporte.reserva_veiculo r on (r.id_movimento_veiculo = m.id_movimento_veiculo) left join requisicoes.requisicao_reserva_veiculo req on (req.id_reserva_veiculo = r.id_reserva_veiculo) inner join transporte.veiculo v on (v.id_veiculo = r.id_veiculo) where --req.numero=21937 v.placa = 'JKO-4601')::integer[]; FOR i in 1..array_length(reserva_veiculo,1) loop raise notice 'reserva_veiculo: %', reserva_veiculo[i]; delete from transporte.motorista_reserva where motorista_reserva.id_reserva_veiculo= reserva_veiculo[i]; delete from requisicoes.requisicao_reserva_veiculo r where r.id_reserva_veiculo= reserva_veiculo[i]; delete from transporte.reserva_veiculo rv where rv.id_reserva_veiculo= reserva_veiculo[i]; end loop; i :=0; FOR i in 1..array_length(movimento_veiculo,1) loop raise notice 'movimento_veiculo: %', movimento_veiculo[i]; delete from transporte.movimento_veiculo_passageiro mv where mv.id_movimento_veiculo= movimento_veiculo[i]; delete from transporte.trecho_percorrido mv1 where mv1.id_movimento_veiculo= movimento_veiculo[i]; delete from transporte.movimento_veiculo mv2 where mv2.id_movimento_veiculo= movimento_veiculo[i]; end loop; END$$; Porem está dando o seguinte erro: ERROR: permission denied for schema transporte LINE 1: SELECT 1 FROM ONLY "transporte"."anexo_movimento_veiculo" x ... ^ QUERY: SELECT 1 FROM ONLY "transporte"."anexo_movimento_veiculo" x WHERE $1 OPERATOR(pg_catalog.=) "id_movimento_veiculo" FOR KEY SHARE OF x CONTEXT: SQL statement "delete from transporte.movimento_veiculo mv2 where mv2.id_movimento_veiculo= movimento_veiculo[i]" PL/pgSQL function inline_code_block line 38 at SQL statement Sim, tenho permissão para excluir. Se eu rodar somente as linhas dos deletes, substituindo as variáveis. A exclusão acontece sem erros. Obrigado pela atenção
×
×
  • Criar Novo...