పట్టికను తిరిగి ఇవ్వడానికి PostgreSQL ఫంక్షన్ను ఎలా సృష్టించాలి
మీకు PostgreSQL డేటాబేస్ ఉన్నప్పుడు మరియు మీరు పట్టిక నుండి రికార్డులను తనిఖీ చేయాలనుకున్నప్పుడు, ఒక ఫంక్షన్ను కాలానుగుణంగా ఉపయోగించడం అత్యంత అనుకూలమైన మార్గం, ప్రత్యేకించి దాని ఫలితాల సెట్లో పట్టికను అందించే PostgreSQL ఫంక్షన్. ఈ విధంగా, మీరు మీ రిజల్ట్ సెట్ను ఎన్క్యాప్సులేట్ చేస్తారు మరియు ఈ విధానాన్ని ఉపయోగించడం ద్వారా మెరుగైన కోడ్ ఆర్గనైజేషన్తో సహాయపడుతుంది.
పట్టికను అందించే PostgreSQL ఫంక్షన్ని సృష్టించడానికి క్రింది వాక్యనిర్మాణం ఉంది:
ఫంక్షన్_పేరు(పరామితి_జాబితా)ని సృష్టించండి లేదా భర్తీ చేయండి
రిటర్న్స్ టేబుల్(నిలువు వరుస_జాబితా)
$$ వలె
రిటర్న్ క్వెరీని ప్రారంభించండి(ప్రశ్న);
ముగింపు;
$$ భాష plpgsql
అటువంటి ఫంక్షన్లను రూపొందించడంలో మంచి విషయం ఏమిటంటే, ఇది మీ పట్టిక నుండి ఒకే విలువను తిరిగి ఇవ్వడానికి బదులుగా వివిధ 'column_list'ని పేర్కొనడానికి మిమ్మల్ని అనుమతిస్తుంది. ఏ దశలను అనుసరించాలో అర్థం చేసుకోవడంలో మాకు సహాయపడే రెండు ఉదాహరణలను చూద్దాం.
ఉదాహరణ 1: ఒకే ఇన్పుట్తో పని చేయడం
పట్టికను అందించే ఫంక్షన్ను సృష్టించేటప్పుడు, మీరు రిటర్న్ క్వెరీతో ఉపయోగించడానికి ఆర్గ్యుమెంట్ను తప్పనిసరిగా అందించాలి. వాదన ఒక నమూనా లేదా నిర్దిష్ట ఇన్పుట్ కావచ్చు. ఈ ఉదాహరణ మనం ఒకే ఇన్పుట్ను ఆర్గ్యుమెంట్గా ఉపయోగించే సందర్భాన్ని ఇస్తుంది.
మా ప్రశ్న కోసం మేము ఉపయోగించే “విద్యార్థి” పట్టిక క్రిందిది:
కింది చిత్రంలో, మేము INTని ఆర్గ్యుమెంట్గా తీసుకునే “get_student” పేరుతో ఒక ఫంక్షన్ని సృష్టిస్తాము. రిటర్న్స్ టేబుల్ విభాగంలో, మేము నాలుగు నిలువు వరుసలతో కూడిన పట్టికను అందిస్తాము: “స్టూడెంట్_ఐడి”, “స్టూడెంట్_పేరు”, “స్టూడెంట్_ఫ్యాకల్టీ” మరియు “ప్రస్తుత_స్థితి”.
ఈ నిలువు వరుసలన్నీ మనం నిర్వచించే రిటర్న్ క్వెరీ నుండి వాటి విలువలను పొందుతాయి. ఫంక్షన్ను క్రియేట్ చేస్తున్నప్పుడు మేము పేర్కొన్న పరామితి జాబితాను ఉపయోగించి రిటర్న్ క్వెరీ WHERE స్టేట్మెంట్ను ఉపయోగిస్తుందని గమనించండి.
మీరు ఫంక్షన్ను సృష్టించిన తర్వాత, మీ PostgreSQL ఫంక్షన్ విజయవంతంగా సృష్టించబడిందని నిర్ధారిస్తూ మేము ఇంతకు ముందు కలిగి ఉన్న అవుట్పుట్కు సమానమైన అవుట్పుట్ను మీరు పొందుతారు. దీన్ని మరింత ధృవీకరించడానికి, అందుబాటులో ఉన్న ఫంక్షన్లను జాబితా చేయడానికి కింది ఆదేశాన్ని అమలు చేయండి:
\df *get_student();పేర్కొన్న పేరు ఉన్న ఏదైనా ఫంక్షన్తో సరిపోలడానికి మేము ఆస్టరిస్క్లను జోడిస్తాము. మా డేటాబేస్లో మా PostgreSQL ఫంక్షన్ ఉందని అవుట్పుట్ చూపిస్తుంది.
సృష్టించిన ఫంక్షన్ను పరీక్షించడం చివరి దశ. ఫంక్షన్కు కాల్ చేయడానికి “ఎంచుకోండి” స్టేట్మెంట్ను అమలు చేయండి. అప్పుడు, ఊహించిన వాదనను జోడించండి. మా విషయంలో, పరామితి INT రకం. అందువల్ల, దానికి సరిపోలే రికార్డ్లను తిరిగి పొందడానికి మేము 1ని మా వాదనగా జోడిస్తాము మరియు కింది వాటిలో ప్రదర్శించిన విధంగా పట్టికను తిరిగి ఇవ్వండి:
ఉదాహరణ 2: ఇన్పుట్ నమూనాతో పని చేయడం
రిటర్న్ క్వెరీతో ఉపయోగించాల్సిన విలువ గురించి ఖచ్చితంగా తెలియనప్పుడు, మీరు ఇచ్చిన నమూనాతో సరిపోలడానికి ILIKE ఆపరేటర్ని ఉపయోగించవచ్చు. ఉదాహరణకు, మీకు పేరు ఉంటే మరియు స్ట్రింగ్లోని ఒక విభాగం మాత్రమే తెలిసి ఉంటే, ILIKE ఆపరేటర్ మీ నమూనా ఎలా ఉంటుందో నిర్వచించడానికి “%” చిహ్నాన్ని ఉపయోగించడానికి మిమ్మల్ని అనుమతిస్తుంది.
మేము ఈ కేసు కోసం క్రింది పట్టికను ఉపయోగిస్తాము మరియు పేరు నిలువు వరుసను లక్ష్యంగా చేసుకుంటాము:
మేము ఇంతకు ముందు చేసిన ఫంక్షన్కు సమానమైన ఫంక్షన్ను సృష్టిస్తాము. అయితే, పరామితి రకం మార్చబడింది మరియు రిటర్న్ క్వెరీ ILIKE ఆపరేటర్ని ఉపయోగిస్తుంది, ఇది ఫంక్షన్కు కాల్ చేస్తున్నప్పుడు వాదనగా జోడించబడుతుంది.
ఫంక్షన్ సిద్ధమైన తర్వాత, మేము దానిని పట్టికను తిరిగి ఇవ్వడానికి కాల్ చేయవచ్చు. దాని గురించి వెళ్ళడానికి వివిధ మార్గాలు ఉన్నాయి. ఉదాహరణకు, శోధన నమూనా స్ట్రింగ్లో “జో”ని కలిగి ఉంటే, మేము కమాండ్ ప్రశ్నను ఈ క్రింది విధంగా అమలు చేస్తాము:
get_details ('%Jo%') నుండి * ఎంచుకోండి;మేము అన్ని విలువలను వారి స్ట్రింగ్లోని “జో”తో సరిపోల్చాము, మాకు రెండు రికార్డ్లను అందిస్తాము.
మనకు స్ట్రింగ్ యొక్క చివరి భాగం మాత్రమే తెలిస్తే, మేము ప్రశ్నను ట్విస్ట్ చేసి ఈ క్రింది విధంగా అమలు చేస్తాము:
get_details('%Tyson') నుండి * ఎంచుకోండి;
చివరగా, స్ట్రింగ్ యొక్క మొదటి భాగం మనకు తెలిస్తే, కింది వాటిలో చూపిన విధంగా మేము నమూనా తర్వాత “&” చిహ్నాన్ని జోడిస్తాము:
get_details ('Tim%') నుండి * ఎంచుకోండి;
టేబుల్ని తిరిగి ఇవ్వడానికి PostgreSQL ఫంక్షన్ను ఎలా ఉపయోగించాలి అనేదానికి అవి విభిన్న ఉదాహరణలు.
ముగింపు
PostgreSQL అనేది అనేక లక్షణాలతో కూడిన శక్తివంతమైన డేటాబేస్. ఫంక్షన్లను క్రియేట్ చేస్తున్నప్పుడు, ఎన్క్యాప్సులేషన్ను సాధించడంతోపాటు వివిధ కారణాల కోసం సెట్ చేసిన ఫలితం వలె మీరు వాటిని టేబుల్ని తిరిగి ఇచ్చేలా సెట్ చేయవచ్చు. ఈ పోస్ట్ PostgreSQLలో పట్టికను అందించే ఫంక్షన్ని సృష్టించడం మరియు ఉపయోగించడం కోసం రెండు ఉదాహరణలను అందించింది.