मुझे एक ऐसा फ़ंक्शन बनाना होगा जो एक क्वेरी चलाएगा और तालिका के नाम के साथ परिणामों को वापस कर देगा और कॉलम नाम को फ़ंक्शन को दिए गए ऑग्रेमेंट्स के साथ वापस कर देगा। मेरे पास वर्तमान में यह है:पोस्टग्रेज़ डायनामिक क्वेरी फंक्शन
CREATE OR REPLACE FUNCTION qa_scf(tname character varying, cname character varying)
RETURNS SETOF INT AS
$BODY$
BEGIN
RETURN QUERY SELECT * FROM tname WHERE cname !='AK' AND cname!='CK';
END;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100
ROWS 1000;
यह मुझे चलाने पर त्रुटि "संबंध 'tname' des मौजूद नहीं है" देता है। मैं पोस्टग्रेज़ के लिए काम करने के लिए नया हूं, इसलिए किसी भी मदद की सराहना की जाती है। मुझे लगता है कि रिटर्न int गलत है, लेकिन मुझे नहीं पता कि यह पंक्तियों के लिए सभी कॉलम वापस करने के लिए और क्या करना है। धन्यवाद!
मुझे परिणाम_एवर के रूप में क्या घोषित करना चाहिए? –
उचित quote_FOO() फ़ंक्शन का उपयोग किये बिना गतिशील एसक्यूएल स्टेटमेंट में मूल्यों को कभी भी विभाजित न करें या आप इंजेक्शन हमलों के लिए दरवाजा खोलें। – dbenhur
यह एक आंतरिक सामना डेटाबेस है। –