में तैयार कथन के साथ कस्टम एसक्यूएल प्रकारों में सम्मिलित करना मेरे पास कुछ कस्टम प्रकार हैं। वे सभी मूल रूप से enums हैं। यहां बताया गया है कि वे की तरह लग रही का एक उदाहरण है:जावा
CREATE TYPE card_suit AS ENUM
('spades',
'clubs',
'hearts',
'diamonds');
और मैं जावा में कुछ तैयार बयान है, जो कुछ इस तरह दिखाई है:
// Setup stuff up here.
sql = "INSERT INTO foo (suit) VALUES (?)";
st.setString(1, 'spades');
st.executeUpdate(sql);
और जावा मुझे इस तरह कुछ बुरा अपवाद देता है:
org.postgresql.util.PSQLException: ERROR: column "suit" is of type card_suit but expression is of type character varying
Hint: You will need to rewrite or cast the expression.
यह मुझे अच्छा संकेत देने के लिए अच्छा है, लेकिन मुझे यकीन नहीं है कि इसका पालन कैसे किया जाए।
आप स्कीमा का नियंत्रण है, तो एक पाठ स्तंभ पर एक चेक बाधा enum के रूप में ही काम कर सकते हैं, जावा में अभी भी काम करना आसान है। – Bill