منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
حذف بيان بدون حذف المتشابه فى قاعدة البيانات - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : حذف بيان بدون حذف المتشابه فى قاعدة البيانات (/showthread.php?tid=11359)



حذف بيان بدون حذف المتشابه فى قاعدة البيانات - mohameed2015 - 08-02-15

السلام عليكم

حذف بيان بدون حذف المتشابه فى قاعدة البيانات

اريد ان احذف بيان من الداتا بيز بدون ان احذف بيان مشابه له المحدد فقط

مرفق البرنامج و لكن امر الحذف يحذف اي بيان مشابه للبيان المحدد للحذف

ارجو التعديل علي البرنامج

دمتم سالمين


RE: حذف بيان بدون حذف المتشابه فى قاعدة البيانات - mohameed2015 - 08-02-15

شكرا اخي علي الرد
ولكن توجد طريقه اخري بالكود تحذف المحدد فقط
من غير ما اضيف حقل ترقيم تلقائي


RE: حذف بيان بدون حذف المتشابه فى قاعدة البيانات - mohameed2015 - 10-02-15

ممكن مثال بي SqlServer للطريقه


RE: حذف بيان بدون حذف المتشابه فى قاعدة البيانات - Clickers - 11-02-15

اخ محمد لماذا لاتريد استخدام حقل من نوع رقم ID
ولا يعني انك استخدمت حقل من نوع رقم ان يكون ترقيم تلقائي
صحيح يمكن ان تحذف سجل بطريقتك السابقة هذه لكن دعني اوضح لك الأمر
لتضح لك الصورة Idea

لاحظ لعبارة sql التالية:
كود :
delete from Table1 where Name ='mohammed'
هذه العبارة تعني قم بحذف اي اسم mohammed
يعني انه لو يوجد 4 سجلات بهذا الاسم سوف يتم حذفها Huh
وهذا خطأ فادح Angry لانك بالتأكيد تريد حذف سجل واحد فقط وليس كل السجلات
حسناً لنفترض انه يحتوي على حقل ID
و لنفترض انني اريد حذف mohammed الذي يمتلك ID رقم 201
سوف يكون شكل العبارة هكذا
كود :
delete from Table1 where ID=201
هذا يعني قم بحذف السجل رقم 201 بدون ان يقوم بحذف اي سجل آخر Cool
لانه لايوجد سجلان بنفس الرقم وهكذا هي العملية
واضف لمعلوماتك ان من القواعد الاساسية في Normaliztion لقواعد البيانات
باختلاف انواعها، يجب ان يحتوي كل سجل على مفتاح اساسي
وطبعا من خواصه ان يكون فريد ولا يتكرر وهذا ينطبق على المفتاح الاساسي
لذلك اخي صمم برامجك بطريقة علمية حتى لو كانت امثلةبسيطة تقوم بها لتعليم نفسك


RE: حذف بيان بدون حذف المتشابه فى قاعدة البيانات - mohameed2015 - 11-02-15

اني استخدم اوركل 10 g ولتوضيح الامر استخدمت قواعد بيانات Access
ولم اجد طريقه في اوركل لانشاء رقم تلقائى
والجدول المقصود جدول المبيعات و اكيد توجد اصناف متشابه في فاتوره واحده
واذا ارجاع صنف واحد من الفاتورة اكيد سالغيه من الفاتورة لخصمه من جدول
المبيعات وهنا اقف مع المشكله
تعبت جدا في البحث عن الرقم التقائى في الاوركل 10 g


RE: حذف بيان بدون حذف المتشابه فى قاعدة البيانات - Clickers - 12-02-15

الموضوع بسيط ليس من الضروري ان يكون ترقيم تلقائي

لماذا لا يحصل كل صنف على ID

و اكيد حقل ID عبارة عن رقم

و بالمناسبة انا من بحري يمكن ان تتصل على هاتفياً و اخبرك بالطريقة او يمكنك مراسلتي على الخاص


RE: حذف بيان بدون حذف المتشابه فى قاعدة البيانات - mohameed2015 - 13-02-15

الحمد لله تم حل المشكله بانشاء ID ترقيم تلقائي بال Oracle 10g
الحل

SQL> CREATE TABLE test (
id NUMBER PRIMARY KEY,
val VARCHAR2(30)
);


CREATE SEQUENCE test_id_seq;

INSERT INTO test(id, val) VALUES (test_id_seq.nextval, 'row1');

Now, let's automate this using a trigger to simulate AutoNumber/Identity functionality:

SQL> CREATE OR REPLACE TRIGGER test_trg
BEFORE INSERT ON test
FOR EACH ROW
BEGIN
SELECT test_id_seq.nextval INTO :new.id FROM dual;
END;
/

Trigger created.

SQL> SHOW ERRORS

No errors.



SQL> INSERT INTO test(val) VALUES ('row2');

1 row created.

SQL> INSERT INTO test(id, val) VALUES (null, 'row3');
1 row created.

SQL> SELECT * FROM test;
ID VAL
---------- ------------------------------
1 row1
2 row2
3 row3