PostgreSQL documentation एक CallableStatement
उपयोग करने की सलाह संग्रहित प्रक्रियाओं कॉल करने के लिए।संग्रहित प्रक्रियाओं: CallableStatement बनाम PreparedStatement
String callString = "{ call rankFoos(?, ?) }";
CallableStatement callableStatement = con.prepareCall(callString);
callableStatement.setString(1, fooCategory);
callableStatement.setInt(2, minimumRank);
ResultSet results = statement.executeQuery();
और एक नियमित रूप से PreparedStatement
का उपयोग कर:
String queryString = "SELECT FooUID, Rank FROM rankFoos(?, ?);";
PreparedStatement preparedStatement = connection.prepareStatement(queryString);
preparedStatement.setString(1, fooCategory);
preparedStatement.setInt(2, minimumRank);
ResultSet results = statement.executeQuery();
मैं समझता हूँ के रूप में, CallableStatement
प्रस्तावों
एक संग्रहीत प्रक्रिया है कि एक rowset रिटर्न के मामले में, CallableStatement
का उपयोग कर के बीच मतभेद रहे हैं संग्रहीत प्रक्रियाओं को कॉल करने का एक भाषा-अज्ञेय तरीका। हालांकि यह मेरे लिए कोई फर्क नहीं पड़ता, क्योंकि मुझे पता है कि मैं PostgreSQL का उपयोग कर रहा हूं। जहां तक मैं देख सकता हूँ, PreparedStatement
का उपयोग करने का स्पष्ट लाभ एक अधिक बहुमुखी क्वेरी, आदि एक मेज, जिस पर मैं उपयोग कर सकते हैं WHERE
, JOIN
, ORDER BY
,
के रूप में जमा की प्रक्रिया का इलाज कर रहे हैं वहाँ पहलुओं या मतभेद है उन तरीकों के बीच जो मुझे याद आ रही है? किसी क्वेरी के रूप में उपयोग की जाने वाली संग्रहीत प्रक्रिया के मामले में, जिसकी अनुशंसा की जाती है?
अच्छी अंतर्दृष्टि से सहमत हूं। धन्यवाद! –