الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال على السريع

مغلق
بدأه dream_land_78 في 5 نوفمبر 2002 · 5 رد · 579 مشاهدة · في قواعد بيانات Oracle
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

اول شي رمضان كريم

و عندي سؤال معلش و اتمنى الاجابة عليه بسرعة

يوجد عندي جدول و فيه حقل من الحقول اسمو min

و عندما اريد اخذ قيمة من هذا الحقل مثلا

:global.x = cc1.min

على فرض انو cc عبارة عن cursor ياخذ من هذا الجدول

و و لكن يعطيني رسالة غلط عند هذا السطر

و كأنو يعتقد اني اريد القيمة الاقل من حقل و ان هناك تكملة للجملة

فماذا افعل

مع العلم اني لا استطيع تغيير اسم هذا الحقل

و شكرا

#2

تحياتي للجميع

اخي الكريم لا تغير اسم الحقل.....

كل ما عليك عمله هو اعادة بناء جملة الCURSOR كما يلي :

CURSOR CC1 IS SELECT MIN XXX FROM MYTABLE;

حيث تقوم بالتعامل مع الحقل MIN باسم CC1.XXX بدل من

CC1.MIN

وتنتهي مشكلتك

وشكرا

#3

مع الاسف ما زبط يا اخي

لانو حتى في جملة ال select

اعطى ان هنا غلط

select min from tbl ;

اعطى انو في غلط

#4

تحياتي للجميع

لا تزعل يا طيب

في طريقه ثانيه بس ممكن تكون صعبه شويه

وهي عمل VIEW لنفس هذا الجدول وقراءة الCURSOR

منها كما يلي :

CREATE VIEW MYVIEW AS SELECT MIN XXX FROM MYTABLE;

طبعا تضيف ايضا لجملة الCREATE ايضا باقي كل الحقول التي تحتاجها بالCURSOR

وجملة بناء الCURSOR تكون كما يلي :

CURSOR CC1 IS SELECT XXX FROM MYVIEW;

CC1.XXX

بهذه الطريق يجب ان تحتفظ بجملة انشاء الVIEW

حتى تبنيها دائما كلما اضطررت لاعادة بناء الجدول من جديد.

ارجو ان يكون الامر واضح

#5

DECLARE

CURSOR MYCUR IS SELECT MIN(XXX) MM FROM MY TABLE;

;HH MYCUR%ROWTYPE

BEGIN

OPEN MYCUR;

FETCH MYCUR INTO HH;

:GLOBAL.X:=HH.MM;

CLOSE MYCUR;

END ;

#6

شكرا ابو خلف

بس القصد مش اني بدي الدالة min

انا عندي اسم الحقل min

و هدا اللي سبب الخطا

و كمان شكرا للاخ النبع لانو ما قصر و الحل اللي حكاه شكلو ما في غيرو

بس انا قلت انو ممكن يكون في حل اسهل و اقصر

عموما شكرا للجميع

هذا الموضوع مغلق.

مواضيع مشابهة