- Where Developers Learn, Share, & Build Careers
मेरे पास इस तरह से दो टेबल हैं
FLUX_ISU_EQU < पूर्व> <कोड> आईडी संख्या (38,0) EQU_CODE VARCHAR2 (10 BYTE) DATE_DERNIERE_MODIF DATE
FLUX_ISU_EQU_AFF_TAB
आईडी NUMBER (38,0) EQU_ID NUMBER (38,0) DATE_DEBUT दिनांक DATE_FIN DATE TYPE_EQU VARCHAR2 (10 BYTE) CODE_REGION VARCHAR2 (10 BYTE)
मेरे पास इस तरह की तालिकाएँ हैं: < / P>
FLUX_ISU_EQU
![]()
FLUX_ISU_EQU_AFF_TAB
![]()
मेरे पास इस तरह की एक प्रक्रिया है: <पूर्व>
प्रक्रिया DONNEES_IS_PRESENT (संख्या में समान_आईड, ब्याचारे में आईचेक डनॉनेज) एनबीईक्वेंसी संख्या; BEGIN nbEquipement: = 0; Flux_isu_equ_aff_tab fieat से nbEquipement में गिनती (*) का चयन करें, flux_isu_equ fie जहां fieat.EQU_ID = fie.id और fie.id = equ_id; यदि nbEquipement = 0 तब होता हैकॉक डोनन: = गलत; Pk_Compas_Util.LOG_ERROR ('Pk_Compas_Flux_Isu.IMPORT_EQUIPEMENT_EAI', 'IMPORT_EQUIPEMENT_EAI', इक्विएड, नल, नाउल, 'एकिने पत्राचार डाल लो' 'आईडी' '' equ_id || '' 'डैनस ला टेबल FLUX_ISU_EQU_AFF_TAB', NULL); अगर अंत; समाप्त;
इसलिए, जब मैं nbEquipement = 1 के बजाय मेरी प्रक्रिया nbEquipement = 3 निष्पादित करता हूं।
क्यों ..?
पुनश्च: जब मैं Do
select count (*) flux_isu_equ_aff_tab fieat से, flux_isu_equ fie जहां fieat.EQU_ID = fie.id और fie.id = 2;
मेरे पास एक परिणाम है
thx।
निम्नलिखित क्वेरी में
nbEquipement में flux_isu_equ_aff_tab fieat से count (*) चुनें, flux_isu_equ fie जहां fieat.EQU_ID = fie.id और fie.id = equ_id;
equ_id तालिका के क्षेत्र को संदर्भित करता है। चूंकि FLUX_ISU_EQU_AFF_TAB में कॉलम equ_id है और इसके लिए आपके पास एक ऐसा जुड़ना है जो इस तरह दिखता है।
fieat.EQU_ID = fie.id
आपको क्या करना चाहिए बहुत सरल है बस IN_EQU_ID या PARAM_EQU_ID या तो चर का नाम बदलें। और आपकी क्वेरी इस तरह दिखनी चाहिए:
nbEquipement में flux_isu_equ_aff_tab fieat, flux_isu_equ fie में select count (*) जहां fieat.EQU_ID = fie.id और fie.id = in_equ_id;
संग्रहीत कार्यविधि इस तरह दिखनी चाहिए:
प्रक्रिया की गई प्रक्रियाओं को बनाने या बदलने के लिए (संख्या में in_equ_id, बुलेटिन में isCheckDonnees) nbEquipement NUMBER; BEGIN nbEquipement: = 0; Flux_isu_equ_aff_tab fieat से nbEquipement में गिनती (*) का चयन करें, flux_isu_equ fie जहां fieat.EQU_ID = fie.id और fie.id = in_equ_id; यदि nbEquipement = 0 तब होता हैकॉक डोनन: = गलत; --Pk_Compas_Util.LOG_ERROR ('Pk_Compas_Flux_Isu.IMPORT_EQUIPEMENT_EAI', 'IMPORT_EQUIPEMENT_EAI', इक्विएड, नल, नाउल, 'एकिने पत्राचार को' एल 'आईडी' '' 'equ_id ||' '' डैनस ला टेबल FLUX_ISU_EQU_AFF_TAB ', NULL); अगर अंत; समाप्त;
मुझे लगता है कि यह सबसे अच्छा है अगर आपके पास अपने सभी मापदंडों का प्रयोग IN_ में है या ऐसा कुछ है, ताकि आपके क्षेत्र के नामों के रूप में आपके मानदंडों के समान नाम न हों
Comments
Post a Comment