بتاريخ: 3 مايو 200817 سنة comment_127941 6 أخطاء خفيه يقع فيها اغلب مبرمجي أوراكل 1 - القيمة (null) [center] [يسار] SQL> set serveroutput on SQL> declare 2 var1 varchar2(1); 3 begin 4 var1 := null; 5 if var1 != 'Z' then 6 dbms_output.put_line ('var1 != ''Z'', expected'); 7 else 8 dbms_output.put_line ('var1 = ''Z'', not expected'); 9 end if; 10 end; 11 . SQL> / var1 = 'Z', not expected PL/SQL procedure successfully completed. SQL> [/center] [/يسار] تقديم بلاغ
بتاريخ: 3 مايو 200817 سنة كاتب الموضوع comment_127942 امثلة اخرى لنفس المشكلة : SQL> set serveroutput on SQL> declare 2 var1 varchar2(1); 3 var2 varchar2(1); 4 begin 5 var1 := null; 6 var2 := null; 7 if var1 = var2 then 8 dbms_output.put_line ('var1 = var2, expected'); 9 else 10 dbms_output.put_line ('var1 != var2, not expected'); 11 end if; 12 end; 13 . SQL> / var1 != var2, not expected PL/SQL procedure successfully completed. SQL> مثال اخر SQL> set serveroutput on SQL> declare 2 var1 varchar2(6) := ' '; 3 begin 4 var1 := rtrim (var1); -- makes var1 null 5 if var1 = '' then 6 dbms_output.put_line ('var1 = '''', expected'); 7 else 8 dbms_output.put_line ('var1 != '''', not expected'); 9 end if; 10 end; 11 . SQL> / var1 != '', not expected PL/SQL procedure successfully completed. SQL> تقديم بلاغ
بتاريخ: 4 مايو 200817 سنة comment_128048 شكرا يا اخى على هذا الموضوع و لكن فى الواقع لا يجوز وضع علامه = قبل null لأنها ليست قيمه و المعروف انه بعد المعامل = تأنى قيمه ... ولكن هناك بعض الحالات نستخدم فيها = مع null وذلك مثلا فى الشاشات كما يلى : IF :BLOCK NAME.TEXT_ITEM=NULL THEN.................................. احيانا استخدمها فى الشاشات و تعمل معى بدون اى مشاكل و لكن لا يجوز فى كود PL منفرد .... و الله ولى التوفيق و جزاك الله كل خير.. تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.