كيف يمكنني تجنب التحذير من معلمة غير مستخدمة في PLSQ؟
-
01-07-2019 - |
سؤال
في بعض الأحيان، في PL SQL، تريد إضافة معلمة إلى حزمة أو وظيفة أو إجراء من أجل إعداد الوظائف المستقبلية.على سبيل المثال:
create or replace function doGetMyAccountMoney( Type_Of_Currency IN char := 'EUR') return number
is
Result number(12,2);
begin
Result := 10000;
IF char <> 'EUR' THEN
-- ERROR NOT IMPLEMENTED YET
END IF;
return(Result);
end doGetMyAccountMoney;also
يمكن أن يؤدي إلى الكثير من التحذيرات مثل
Compilation errors for FUNCTION APPUEMP_PRAC.DOGETMYACCOUNTMONEY
Error: Hint: Parameter 'Currency' is declared but never used in 'doGetMyAccountMoney'
Line: 1
ما هي أفضل طريقة لتجنب تلك التحذيرات؟
المحلول
أعتقد أن هذا يتم التحكم فيه بواسطة المعلمة PLSQL_WARNINGS، الموثقة لـ 10gR2 هنا: http://download.Oracle.com/docs/cd/B19306_01/server.102/b14237/initparams166.htm#REFRN10249
نصائح أخرى
إذا لم تكن لديك القدرة على تغيير مستويات التحذير، فيمكنك فقط ربط قيمة المعلمة بقيمة وهمية وتوثيق أنها مخصصة للاستخدام المستقبلي.
حسنًا، المثال الخاص بك به العديد من الأخطاء.والأهم من ذلك، أنك ستحتاج إلى تغيير "char" إلى "Currency" في عبارة IF؛والذي بقدر ما أستطيع أن أرى من شأنه أن يتجنب التحذير أيضًا.
تعطيل تحذيرات PL/SQL غير الشديدة:
ALTER SESSION SET PLSQL_WARNINGS='ENABLE:SEVERE';
حسنًا، هل أنت متأكد من أنك حصلت على الاسم والحق بالترتيب الصحيح في هذا الإعلان؟
إنها تشكو من معلمة تسمى "العملة"، لكنك لا تستخدمها فعليًا، أليس كذلك؟
ومن ناحية أخرى، أنت تستخدم شيئا يسمى شار, ، ما هذا؟
أو ربما معرفتي بـ PL/SQL بعيدة كل البعد، إذا كان الأمر كذلك، اترك تعليقًا وسأحذفه.