Oracle में किसी तालिका को अद्यतन करना यदि कोई फ़ील्ड मान शून्य है और यह निर्धारित करना कि अद्यतन सफल है
आपको किसी तालिका के विशेष फ़ील्ड या सभी फ़ील्ड को अपडेट करने की आवश्यकता हो सकती है यदि उनके मान केवल शून्य हैं और किसी फ़ील्ड को अपडेट करने की कोई आवश्यकता नहीं है। नीचे इसी उद्देश्य के लिए एचआर पर लिखी गई उदाहरण प्रक्रिया है। कर्मचारी तालिका:एचआर बनाएं या बदलें प्रक्रिया। अपडेट करें एम्पआईएफएनयूएल (NUMBER में PN_EMPLOYEE_ID, VARCHAR2 में PV_FIRST_NAME, VARCHAR2 में PV_LAST_NAME, PD_HI_EMAIL में PV_EMAIL_DATE,DI VARCHAR2, PN_SALARY NUMBER में, PV_Success OUT VARCHAR2) n_लंबाई NUMBER है; n_length2 NUMBER;BEGIN SELECT LENGTH(FIRST_NAME || LAST_NAME || EMAIL || PHONE_NUMBER || HIRE_DATE || JOB_ID || Salary) n_length से HR.EMPLOYEES में जहां EMPLOYEE_ID =PN_EMPLOYEE_ID; अद्यतन HR.EMPLOYEES SET FIRST_NAME =DECODE (FIRST_NAME, NULL, PV_FIRST_NAME, FIRST_NAME), LAST_NAME =DECODE (LAST_NAME, NULL, pv_LAST_NAME, LAST_NAME), EMAIL =DECODE (EMAIL, NULL, pv_EMAIL), EMAIL, DECODE (EMAIL, NULL, pv_EMAIL), PHONE_NUMB NULL, pv_PHONE_NUMBER, PHONE_NUMBER), HIRE_DATE =DECODE (HIRE_DATE, NULL, pD_HIRE_DATE, HIRE_DATE), JOB_ID =DECODE (JOB_ID, NULL, pV_JOB_ID, JOBLARY_; SALARY =DECODE_NLO_SAPN_ NULL, SAMPLAY, SALARY, SAMPLEY, SAMPLEY, NLO_SAPN_ NULL /* यह निर्धारित करने के लिए कि क्या अपडेट सफल हुआ था, हम यहां sql% rowcount या sql% का उपयोग नहीं कर सकते हैं, क्योंकि यदि कर्मचारी आईडी सही है तो यह हमेशा एक सफल अपडेट दिखाएगा लेकिन हमें यह निर्धारित करने की आवश्यकता है कि क्या कोई अशक्त क्षेत्र है मान अपडेट किया गया है या नहीं */ LENGTH चुनें(FIRST_NAME || LAST_NAME || EMAIL || PHONE_NUMBER || HIRE_DATE || JOB_ID || वेतन) n_length2 HR.EMPLOYEES से जहां EMPLOYEE_ID =PN_EMPLOYEE_ID; अगर n_length2> n_length तब --- परिवर्तन सहेजें। वादा करना; Pv_Success :='Y'; अन्य रोलबैक; pv_success :='एन'; END IF; अपवाद जब अन्य तब Pv_Success :='N'; रोलबैक; अंत;/