الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

هل يمكن انشاء trigger يقوم بتشغيل SEQUENCE بحيث احصل على ترقيم تلقائي لحقل معين

Featured Replies

بتاريخ:

السلام عليكم

سؤالي هو هل يمكن انشاء trigger يقوم بتشغيل SEQUENCE بحيث احصل على ترقيم تلقائي لحقل معين ؟

وشكرا

بتاريخ:

على حسب اللى فهمته من سؤالك انك عاوز تعمل قيم تسلسليه لحقل رقمى من خلال Trigger .

المفروض الوضع العادى يكون هكذا :-

CREATE SEQUENCE hany;

CREATE TABLE t1 (
 ID   NUMBER PRIMARY KEY,
 NAME VARCHAR2(22));

INSERT INTO t1 VALUES (hany.NEXTVAL, 'name1');
INSERT INTO t1 VALUES (hany.NEXTVAL, 'name2');
INSERT INTO t1 VALUES (hany.NEXTVAL, 'name3');
INSERT INTO t1 VALUES (hany.NEXTVAL, 'name4');
INSERT INTO t1 VALUES (hany.NEXTVAL, 'name5');



و لملىء الجدول فى خطوة واحده :-

TRUNCATE TABLE t1;
--- Table truncated.
BEGIN FOR i IN 1 .. 10
  LOOP
     INSERT INTO t1 VALUES (i, 'MR.' || i);
  END LOOP;
  COMMIT;
END;
/



كده هتلاقى ان فى 10 صفوف تم وضعهم بالجدول .... و فى ال For Loop حدد الرقم الذى تريد ان تصل اليه .

-------------


بالنسبة لأستخدام ال Trigger فده اللى انا توصلت له :-

DROP TABLE t1;
CREATE TABLE t1 (id NUMBER PRIMARY KEY,name VARCHAR2(12) NOT NULL);
-----
DROP SEQUENCE hany;
CREATE SEQUENCE hany;
------
CREATE OR REPLACE TRIGGER insert_squ
   BEFORE INSERT OR UPDATE ON T1
   FOR EACH ROW
   DECLARE
     NN  NUMBER;
   BEGIN SELECT HANY.NEXTVAL
     INTO NN FROM   DUAL;      
     :NEW.ID := NN;
   END;
/
-------
INSERT INTO T1 (name) VALUES ('QQW');
INSERT INTO T1 (name) VALUES ('QSW');
INSERT INTO T1 (name) VALUES ('VQW');
INSERT INTO T1 (name) VALUES ('QNW');
INSERT INTO T1 (name) VALUES ('QQP');
INSERT INTO T1 (name) VALUES ('QYW');
-------
select * from t1;



أذا كان لديك قصد أخر فأرجو أخبارى ...... و شكراً

بتاريخ:
  • كاتب الموضوع

شكرا اخي العزيز

الطريقة الثانية هي المطلوبة .... وقد جربتها باستخدام برنامج toad وصار الترقيم تلقائي للحقل..


جزاء الله خيرا ......

بتاريخ:

كيف يتم الترقيم التلقائي عن طريق التود

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.