statement=conexao.prepareStatement("select nome, etc from sua_view where id = ?");statement.setInt(1,id);
A
AbelBueno2 likes
Se está falando de views no banco de dados, a resposta simples é que você nao passa.
Esse é um dos problemas com views, você só consegue aplicar um parâmetro no resultado inteiro dela (como no exemplo dado pela @javaflex)
Em alguns bancos de dados você pode tentar usar table functions, que pode ter um comportamento semelhante a uma view que aceita parâmetros, mas geralmente é um pouco mais burocrático de usar.
javaflex2 likes
É mais burocrático mesmo usar function para este caso. Function só bom quando precisamos implementar alguma lógica mais complexa (com if/while, etc) antes de retornar os dados.
@Anderela_Vieira, o campo pelo qual deseja mandar o banco filtrar terá que estar disponível na view, mas no seu SQL não é obrigatorio trazer esta coluna, como mostrei no exemplo. Lembre-se que é aconselhável criar um índice para a coluna que for usar no filtro. Como você falou em id, acredito que seja a chave primária e já tenha índice.
Anderela_Vieira
Obrigado meninos, realmente View não vai resolver meu caso
javaflex e AbelBueno
Tanks.
javaflex
Não entendi, por que não vai resolver o problema? Basta filtrar pela coluna, onde a mesma deverá estar disponível na view.
select coluna1, coluna2 from suaview where colunaquevaifiltrar = ?